freebsd-skq/sys/cddl
trasz 2e0ead9bff Fix permission handling for extended attributes in ZFS. Without
this change, ZFS uses SunOS Alternate Data Streams semantics - each
EA has its own permissions, which are set at EA creation time
and - unlike SunOS - invisible to the user and impossible to change.
From the user point of view, it's just broken: sometimes access
is granted when it shouldn't be, sometimes it's denied when
it shouldn't be.

This patch makes it behave just like UFS, i.e. depend on current
file permissions.  Also, it fixes returned error codes (ENOATTR
instead of ENOENT) and makes listextattr(2) return 0 instead
of EPERM where there is no EA directory (i.e. the file never had
any EA).

Reviewed by:	pjd (idea, not actual code)
Approved by:	re (kib)
2009-07-20 19:16:42 +00:00
..
boot/zfs Unexpand $FreeBSD$. 2009-05-23 16:01:58 +00:00
compat/opensolaris Add new msleep(9) flag PBDY that shall be specified together with 2009-07-14 22:52:46 +00:00
contrib/opensolaris Fix permission handling for extended attributes in ZFS. Without 2009-07-20 19:16:42 +00:00
dev dtrace_gethrtime: improve scaling of TSC ticks to nanoseconds 2009-07-15 17:07:39 +00:00