summaryrefslogtreecommitdiffstats
path: root/sys/cddl
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2015-11-02 10:07:21 +0000
committeravg <avg@FreeBSD.org>2015-11-02 10:07:21 +0000
commitde9b219b0a549aeb1e2f48effef11266eb44c8ba (patch)
treebac9ff0c93c4a150246b299a2bbfbefee543aa79 /sys/cddl
parent9393271dff5e7a79a87892b1a4d05f6578cbffb7 (diff)
downloadFreeBSD-src-de9b219b0a549aeb1e2f48effef11266eb44c8ba.zip
FreeBSD-src-de9b219b0a549aeb1e2f48effef11266eb44c8ba.tar.gz
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 MFC after: 17 days
Diffstat (limited to 'sys/cddl')
-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