88b37fbe57
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. |
||
---|---|---|
cmd | ||
config | ||
etc | ||
lib | ||
man | ||
module | ||
patches | ||
scripts | ||
.gitignore | ||
.topdeps | ||
.topmsg | ||
AUTHORS | ||
COPYING | ||
COPYRIGHT | ||
ChangeLog | ||
DISCLAIMER | ||
GIT | ||
META | ||
Makefile.am | ||
OPENSOLARIS.LICENSE | ||
README.markdown | ||
ZFS.RELEASE | ||
autogen.sh | ||
configure.ac | ||
zfs-modules.spec.in | ||
zfs.spec.in |
README.markdown
Native ZFS for Linux! ZFS is an advanced file system and volume manager which was originally developed for Solaris. It has been successfully ported to FreeBSD and now there is a functional Linux ZFS kernel port too. The port currently includes a fully functional and stable SPA, DMU, and ZVOL with a ZFS Posix Layer (ZPL) on the way!
Documentation for building, configuring, and using ZFS can be found at: http://wiki.github.com/behlendorf/zfs/