diff options
author | Chris Dunlop <[email protected]> | 2015-05-02 15:47:06 +1000 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-05-06 14:13:19 -0700 |
commit | f0da4d15082be83547e5370e4479d3c04b56451d (patch) | |
tree | def5b4ed713efeddb85aa081eea7348d119a3852 /module/zcommon | |
parent | 7a3066ffddcf4f87470e33a1cd414e558b90249c (diff) |
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 <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #3281
Diffstat (limited to 'module/zcommon')
0 files changed, 0 insertions, 0 deletions