diff options
author | avg <avg@FreeBSD.org> | 2015-11-02 10:07:21 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2015-11-02 10:07:21 +0000 |
commit | de9b219b0a549aeb1e2f48effef11266eb44c8ba (patch) | |
tree | bac9ff0c93c4a150246b299a2bbfbefee543aa79 /sys/cddl | |
parent | 9393271dff5e7a79a87892b1a4d05f6578cbffb7 (diff) | |
download | FreeBSD-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.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); |