svn commit: r195822 -
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Edward Tomasz Napierala
trasz at FreeBSD.org
Wed Jul 22 15:15:59 UTC 2009
Author: trasz
Date: Wed Jul 22 15:15:58 2009
New Revision: 195822
URL: http://svn.freebsd.org/changeset/base/195822
Log:
Fix extattr_list_file(2) on ZFS in case the attribute directory
doesn't exist and user doesn't have write access to the file.
Without this fix, it returns bogus value instead of 0. For some
reason this didn't manifest on my kernel compiled with -O0.
PR: kern/136601
Submitted by: Jaakko Heinonen <jh at saunalahti dot fi>
Approved by: re (kib)
Modified:
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Wed Jul 22 14:37:53 2009 (r195821)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Wed Jul 22 15:15:58 2009 (r195822)
@@ -4722,6 +4722,9 @@ vop_listextattr {
ZFS_ENTER(zfsvfs);
+ if (sizep != NULL)
+ *sizep = 0;
+
error = zfs_lookup(ap->a_vp, NULL, &xvp, NULL, 0, ap->a_cred, td,
LOOKUP_XATTR);
if (error != 0) {
@@ -4752,9 +4755,6 @@ vop_listextattr {
auio.uio_rw = UIO_READ;
auio.uio_offset = 0;
- if (sizep != NULL)
- *sizep = 0;
-
do {
u_char nlen;
More information about the svn-src-all
mailing list