When creating partition tables we always need to wait until not only the /dev/<disk><part> device appears. But just as importantly if we were originally given a udev path we need to wait for the /dev/disk/*/<name>-part<part> symlink to be created. However, since the partition naming convention differs between /dev/ and /dev/disk we determine based on the path which convention to expect and then wait (for a few seconds) for the device to be created. Based on my experience with udev on my test nodes it takes about 300ms for the devices to be created after being prompted by the kernel. This time will vary somehwat based on how complicated your udev rules are, so for safety I threw in a factor of 10. We wait 3 seconds for the devices to appears before erroring out with a failure. An additional minor fix includes checking the force flag in the EFI_GPT_PRIMARY_CORRUPT case. This allows you to force the update even in the corrupt partition case. Finally, since these are Linux only changes I've dropped the devid code entirely here because I still can't think of why we would need or want it on a Linux system. |
||
---|---|---|
cmd | ||
config | ||
doc | ||
lib | ||
module | ||
scripts | ||
.topdeps | ||
.topmsg | ||
AUTHORS | ||
COPYING | ||
COPYRIGHT | ||
ChangeLog | ||
DISCLAIMER | ||
GIT | ||
META | ||
Makefile.am | ||
OPENSOLARIS.LICENSE | ||
README | ||
TODO | ||
ZFS.RELEASE | ||
autogen.sh | ||
configure.ac | ||
zfs-modules.spec.in | ||
zfs.spec.in | ||
zfs_unconfig.h |
README
============================ ZFS KERNEL BUILD ============================ 1) Build the SPL (Solaris Porting Layer) module which is designed to provide many Solaris APIs in the Linux kernel which are needed by ZFS. To build the SPL: tar -xzf spl-x.y.z.tgz cd spl-x.y.z ./configure --with-linux=<kernel src> make make check <as root> 2) Build ZFS, this port is based on build specified by the ZFS.RELEASE file. You will need to have both the kernel and SPL source available. To build ZFS for use as a Linux kernel module. tar -xzf zfs-x.y.z.tgz cd zfs-x.y.z ./configure --with-linux=<kernel src> \ --with-spl=<spl src> make make check <as root> ============================ ZPIOS TEST SUITE ============================ 3) Provided is an in-kernel test application called zpios which can be used to simulate a parallel IO load. It may be used as a stress or performance test for your configuration. To simplify testing scripts provided in the scripts/ directory which provide a few pre-built zpool configurations and zpios test cases. By default 'make check' as root will run a simple test against several small loopback devices created in /tmp/. cd scripts ./zfs.sh # Load the ZFS/SPL modules ./zpios.sh -c lo-raid0.sh -t tiny -v # Tiny zpios loopback test ./zfs.sh -u # Unload the ZFS/SPL modules Enjoy, Brian Behlendorf <behlendorf1@llnl.gov>