zfs/udev/rules.d
Brian Behlendorf 91604b298c Open pools asynchronously after module load
One of the side effects of calling zvol_create_minors() in
zvol_init() is that all pools listed in the cache file will
be opened.  Depending on the state and contents of your pool
this operation can take a considerable length of time.

Doing this at load time is undesirable because the kernel
is holding a global module lock.  This prevents other modules
from loading and can serialize an otherwise parallel boot
process.  Doing this after module inititialization also
reduces the chances of accidentally introducing a race
during module init.

To ensure that /dev/zvol/<pool>/<dataset> devices are
still automatically created after the module load completes
a udev rules has been added.  When udev notices that the
/dev/zfs device has been create the 'zpool list' command
will be run.  This then will cause all the pools listed
in the zpool.cache file to be opened.

Because this process in now driven asynchronously by udev
there is the risk of problems in downstream distributions.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #756
Issue #1020
Issue #1234
2013-07-03 09:24:38 -07:00
..
.gitignore Update 69-vdev.rules .gitignore 2012-12-14 12:16:42 -08:00
60-zvol.rules.in Move udev rules from /etc/udev to /lib/udev 2011-08-08 16:21:10 -07:00
69-vdev.rules.in vdev_id support for device link aliases 2012-12-03 14:04:47 -08:00
90-zfs.rules.in Open pools asynchronously after module load 2013-07-03 09:24:38 -07:00
Makefile.am Retire zpool_id infrastructure 2013-01-29 12:23:17 -08:00