Revert "Fix z_xattr_lock/z_teardown_lock lock inversion"

This reverts commit 6b32ef572f754efc3f9edb20d022450f8e6b02d9.
This commit is contained in:
Brian Behlendorf 2015-12-21 09:12:37 -08:00
parent 151f84e2c3
commit 228b461b56

View File

@ -1012,16 +1012,7 @@ zfs_rezget(znode_t *zp)
} }
mutex_exit(&zp->z_acl_lock); mutex_exit(&zp->z_acl_lock);
/* rw_enter(&zp->z_xattr_lock, RW_WRITER);
* 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));
if (zp->z_xattr_cached) { if (zp->z_xattr_cached) {
nvlist_free(zp->z_xattr_cached); nvlist_free(zp->z_xattr_cached);
zp->z_xattr_cached = NULL; zp->z_xattr_cached = NULL;