Revert "Fix unlink/xattr deadlock"
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 5 Dec 2012 21:00:49 +0000 (13:00 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 5 Dec 2012 21:41:30 +0000 (13:41 -0800)
commit53c7411919a64d6f0889aa0d6974610f6cd35744
treea95b0ea989fbf6a0c6c6935ac55cc96b05049c76
parentd3aa3ea96e02547166563bbd60bc8581567a140a
Revert "Fix unlink/xattr deadlock"

This reverts commit b00131d43ca344d4b205a03ab3eb771a060e5087 which
is no longer needed due to e89260a1c8851ce05ea04b23606ba438b271d890.

This change forces all xattr znodes to hold a reference on their
parent which ensures prune_icache() will never attempt to evict
both the parent and child concurrently.  This effectively prevents
the deadlock condition from ever occuring.

Therefore we can safely revert back to the upstream synchronous
cleanup code.  This is nice because it keeps our code base closer
to upstream and resolves the performance issues introduced by the
original deadlock fix.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #457
module/zfs/zfs_dir.c
module/zfs/zfs_vfsops.c