mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 11:19:32 +03:00
Revert "Fix z_xattr_lock/z_teardown_lock lock inversion"
This reverts commit 6b32ef572f754efc3f9edb20d022450f8e6b02d9.
This commit is contained in:
parent
151f84e2c3
commit
228b461b56
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user