summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2015-12-21 09:12:37 -0800
committerBrian Behlendorf <[email protected]>2015-12-22 16:58:43 -0800
commit228b461b564532123efbf3f6c595494c8cbe7793 (patch)
tree5bdba4422e13ddffea6b44f1d37f4fb4b8e09647
parent151f84e2c32f690b92c424d8c55d2dfccaa76e51 (diff)
Revert "Fix z_xattr_lock/z_teardown_lock lock inversion"
This reverts commit 6b32ef572f754efc3f9edb20d022450f8e6b02d9.
-rw-r--r--module/zfs/zfs_znode.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/module/zfs/zfs_znode.c b/module/zfs/zfs_znode.c
index a3371b733..1a5a84d68 100644
--- a/module/zfs/zfs_znode.c
+++ b/module/zfs/zfs_znode.c
@@ -1012,16 +1012,7 @@ zfs_rezget(znode_t *zp)
}
mutex_exit(&zp->z_acl_lock);
- /*
- * Lock inversion with zpl_xattr_get->__zpl_xattr_get->zfs_lookup
- * between z_xattr_lock and z_teardown_lock. Detect this case and
- * return EBUSY so zfs_resume_fs() will mark the inode stale and it
- * will safely be revalidated on next access.
- */
- err = rw_tryenter(&zp->z_xattr_lock, RW_WRITER);
- if (!err)
- return (SET_ERROR(EBUSY));
-
+ rw_enter(&zp->z_xattr_lock, RW_WRITER);
if (zp->z_xattr_cached) {
nvlist_free(zp->z_xattr_cached);
zp->z_xattr_cached = NULL;