HomeFreeBSD

xattr dir doesn't get purged during iput

Description

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

Details

Provenance
Chunwei Chen <david.chen@osnexus.com>Authored on Jul 5 2016, 7:39 PM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Jul 12 2016, 9:04 PM
Parents
rG6c2530647ce3: fh_to_dentry should return ESTALE when generation mismatch
Branches
Unknown
Tags
Unknown