svn commit: r195785 -
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Artis Caune
artis.caune at gmail.com
Wed Jul 22 10:13:25 UTC 2009
2009/7/20 Edward Tomasz Napierala <trasz at freebsd.org>:
> Author: trasz
> Date: Mon Jul 20 19:16:42 2009
> New Revision: 195785
> URL: http://svn.freebsd.org/changeset/base/195785
>
> Log:
> 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).
I can not create archives from ZFS file system after this commit.
# tar -c -f /dev/null -C /tmp ./
tar: Out of memory: Cannot allocate memory
extattr_list_link(0x8010150a0,0x1,0x0,0x0,0x50f738,0x8e008) =
-1098808089680 (0xffffff0029ef23b0)
mmap(0x0,703594496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0)
ERR#12 'Cannot allocate memory'
tar: write(2,"tar: ",5) = 5 (0x5)
Out of memorywrite(2,"Out of memory",13) = 13 (0xd)
--
Artis Caune
Everything should be made as simple as possible, but not simpler.
More information about the svn-src-head
mailing list