OpenZFS on Linux and FreeBSD
Go to file
Chris Dunlop 3a25380b5e Wait for all znodes to be released before tearing down the superblock
By the time we're tearing down our superblock the VFS has started releasing
all our inodes/znodes. Some of this work may have been handed off to our
iput taskq so we need to wait for that work to complete. However the iput
from the taskq can itself result in additional work being added to the
taskq:

dsl_pool_iput_taskq
 iput
  iput_final
   evict
    destroy_inode
     zpl_inode_destroy
      zfs_inode_destroy
       zfs_iput_async(ZTOI(zp->z_xattr_parent))
        taskq_dispatch(dsl_pool_iput_taskq..., iput, ...)

Let's wait until all our znodes have been released.

Signed-off-by: Chris Dunlop <chris@onthe.net.au>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #3281
2015-06-22 14:29:18 -07:00
cmd Fix io-spare.sh to work with disk vdevs 2015-04-17 14:15:15 -07:00
config Add zfs_sb_prune_aliases() function 2015-06-22 13:14:51 -07:00
contrib Add bash completions by Aneurin Price. 2014-08-06 15:03:28 -07:00
dracut Execute udevadm settle before trying to import pools 2015-03-24 13:38:55 -07:00
etc Use ExecStartPre to load zfs modules 2015-05-27 09:06:36 -07:00
include Mark all ZPL and ioctl functions as PF_FSTRANS 2015-04-03 11:38:59 -07:00
lib Wait in libzfs_init() for the /dev/zfs device 2015-05-22 13:38:57 -07:00
man Update zfs_pd_bytes_max default in zfs(8) 2015-03-31 11:55:28 -07:00
module Wait for all znodes to be released before tearing down the superblock 2015-06-22 14:29:18 -07:00
rpm Tag zfs-0.6.4 2015-04-08 20:16:45 -07:00
scripts Set zfs_autoimport_disable default value to 1 2015-02-17 16:09:41 -08:00
udev Open pools asynchronously after module load 2013-07-03 09:24:38 -07:00
.gitignore Ignore *.{deb,rpm,tar.gz} files in the top directory. 2013-04-24 16:18:59 -07:00
.gitmodules Add zimport.sh compatibility test script 2014-02-21 12:10:31 -08:00
AUTHORS Add a missing > to AUTHORS 2014-09-02 14:18:53 -07:00
COPYRIGHT Refresh links to web site 2013-03-06 15:46:41 -08:00
DISCLAIMER Fix minor typos and update marketing copy. 2013-03-21 12:51:06 -07:00
META Tag zfs-0.6.4.1 2015-04-23 14:04:08 -07:00
Makefile.am Kernel header installation should respect --prefix 2014-10-28 09:37:06 -07:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Fix minor typos and update marketing copy. 2013-03-21 12:51:06 -07:00
autogen.sh build: do not call boilerplate ourself 2013-04-02 10:55:20 -07:00
configure.ac Add RHEL style kmod packages 2015-03-27 14:41:48 -07:00
copy-builtin Consistent menuconfig name 2012-08-26 13:49:37 -07:00
zfs-script-config.sh.in Initial implementation of zed (ZFS Event Daemon) 2014-04-02 13:10:03 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

README.markdown

Native ZFS for Linux!

ZFS is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the Illumos community.

ZFS on Linux, which is also known as ZoL, is currently feature complete. It includes fully functional and stable SPA, DMU, ZVOL, and ZPL layers.

Full documentation for installing ZoL on your favorite Linux distribution can be found at: http://zfsonlinux.org