]> granicus.if.org Git - zfs/commit
xattr dir doesn't get purged during iput
authorChunwei Chen <david.chen@osnexus.com>
Tue, 5 Jul 2016 19:39:47 +0000 (12:39 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 12 Jul 2016 21:04:30 +0000 (14:04 -0700)
commitddae16a9cf0ba84fab4f7f4542efaf68dc87415b
tree5a5c671cdfb4341320d944afe69f8b394259a656
parent6c2530647ce3f1fe92075b7ed96144fa3541d8f5
xattr dir doesn't get purged during iput

We need to set inode->i_nlink to zero so iput will purge it. Without this, it
will get purged during shrink cache or umount, which would likely result in
deadlock due to zfs_zget waiting forever on its children which are in the
dispose_list of the same thread.

Signed-off-by: Chunwei Chen <david.chen@osnexus.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Chris Dunlop <chris@onthe.net.au>
Issue #4359
Issue #3508
Issue #4413
Issue #4827
module/zfs/zfs_dir.c