OpenZFS on Linux and FreeBSD
Go to file
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
cmd Restrict usage of -fstack-check option 2010-07-23 10:38:07 -07:00
config Add splat module to zfs.sh script 2010-07-28 16:47:30 -07:00
etc Remove promise example config replace with a supermicro config 2010-03-11 14:04:12 -08:00
lib Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-07-23 11:42:23 -07:00
man Add man pages to the build system and packages. 2009-12-11 16:49:25 -08:00
module Fix zvol_init() lock inversion 2010-08-02 11:50:04 -07:00
patches Add e2fsprogs patch for detecting ZFS uberblocks until it appears upstream. 2009-11-02 15:04:43 -08:00
scripts Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2010-07-28 16:52:38 -07:00
.gitignore Ignore unsigned module build products 2010-03-09 14:14:09 -08:00
.topdeps Remove gcc-shadow from gcc-branch 2010-05-28 12:44:01 -07:00
.topmsg Refresh linux-kernel-disk 2008-12-05 11:16:18 -08:00
AUTHORS Add AUTHORS to master branch 2010-05-18 14:55:01 -07:00
COPYING Revert accidental change to COPYING, move authors to master branch. 2010-05-18 14:41:47 -07:00
COPYRIGHT Update COPYRIGHT to reference zpios CDDL exceptions. 2010-05-18 14:25:28 -07:00
ChangeLog Prep for 0.4.9 tag update META, README, ChangeLog. 2010-05-21 15:11:49 -07:00
DISCLAIMER Resolve conflict 2010-05-18 10:42:54 -07:00
GIT Refresh type in topgit git://* reference 2009-01-26 21:58:32 -08:00
META Update META to version 0.5.0 2010-06-14 15:45:23 -07:00
Makefile.am Add uninstall Makefile targets 2010-07-28 16:47:26 -07:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Add basic README 2010-06-29 14:35:21 -07:00
ZFS.RELEASE Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
autogen.sh Core target arch support for conditional compilation of SUBDIRs 2009-06-08 16:07:43 -07:00
configure.ac Generate common.sh with paths from configure 2010-07-28 16:30:45 -07:00
zfs-modules.spec.in Minor spec file cleanup for RHEL6 package dependency. 2010-05-21 15:08:08 -07:00
zfs.spec.in Update zfs.spec.in to reference updated README.markdown file 2010-07-01 10:36:00 -07:00

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/