]> git.proxmox.com Git - mirror_zfs.git/commitdiff
Revert "Fix z_xattr_lock/z_teardown_lock lock inversion"
authorBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 21 Dec 2015 17:12:37 +0000 (09:12 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 23 Dec 2015 00:58:43 +0000 (16:58 -0800)
This reverts commit 6b32ef572f754efc3f9edb20d022450f8e6b02d9.

module/zfs/zfs_znode.c

index a3371b73340fb50e65012bbf1fbe821d76428eb5..1a5a84d681de0b1167213dbeb3ca9612ea042316 100644 (file)
@@ -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;