diff options
author | mav <mav@FreeBSD.org> | 2016-03-20 23:20:16 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2016-03-20 23:20:16 +0000 |
commit | 9597dcad5904b2dc49d828e706d33866be4d82ff (patch) | |
tree | 1faf27360ddcd3f06acf2368e688f1692f5782f7 /sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c | |
parent | 63baaab4188ab27d658d8c7510c7ce0138f490af (diff) | |
download | FreeBSD-src-9597dcad5904b2dc49d828e706d33866be4d82ff.zip FreeBSD-src-9597dcad5904b2dc49d828e706d33866be4d82ff.tar.gz |
MFC r290266 (by avg):
zfs: allow the lookup of extended attributes of an unlinked file
That's required for extattr_get_fd(2) and the like to work properly.
PR: 203201
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c')
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c index e2a3bff..cf42ff6 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c @@ -222,7 +222,7 @@ zfs_dirent_lock(zfs_dirlock_t **dlpp, znode_t *dzp, char *name, znode_t **zpp, mutex_enter(&dzp->z_lock); for (;;) { - if (dzp->z_unlinked) { + if (dzp->z_unlinked && !(flag & ZXATTR)) { mutex_exit(&dzp->z_lock); if (!(flag & ZHAVELOCK)) rw_exit(&dzp->z_name_lock); |