From 228b461b564532123efbf3f6c595494c8cbe7793 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Mon, 21 Dec 2015 09:12:37 -0800 Subject: [PATCH] Revert "Fix z_xattr_lock/z_teardown_lock lock inversion" This reverts commit 6b32ef572f754efc3f9edb20d022450f8e6b02d9. --- module/zfs/zfs_znode.c | 11 +---------- 1 file changed, 1 insertion(+), 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;