zfs/module
Brian Behlendorf 88b37fbe57 Fix zvol_init() lock inversion
During module load we could deadlock because the zvol_init()
callpath took the spa_namespace_lock before the zvol_state_lock.
The rest of the zvol code takes the locks in the opposite order.
In particular, I observed the following deadlock cause by the
lock inversion.

I've fixed the ording by creating an unlocked version of
zvol_create_minor and zvol_remove_minor.  This allows me to
take the zvol_state_lock before the spa_namespace_lock in
zvol_cr_minors_common and simply call the unlocked version.
2010-08-02 11:50:04 -07:00
..
avl Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-05-28 15:46:10 -07:00
nvpair Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-05-28 15:46:10 -07:00
unicode Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-11 14:08:51 -07:00
zcommon Minor device creation/removal (Kernel) 2010-08-02 11:49:08 -07:00
zfs Fix zvol_init() lock inversion 2010-08-02 11:50:04 -07:00
.gitignore Add .gitignore files to exclude build products 2010-01-08 11:35:17 -08:00
Makefile.in Add uninstall Makefile targets 2010-07-28 16:47:26 -07:00