summaryrefslogtreecommitdiffstats
path: root/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2016-03-20 23:20:16 +0000
committermav <mav@FreeBSD.org>2016-03-20 23:20:16 +0000
commit9597dcad5904b2dc49d828e706d33866be4d82ff (patch)
tree1faf27360ddcd3f06acf2368e688f1692f5782f7 /sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c
parent63baaab4188ab27d658d8c7510c7ce0138f490af (diff)
downloadFreeBSD-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.c2
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);
OpenPOWER on IntegriCloud