Hi everyone,
Since the open of issue 101
(
https://github.com/zfs-linux/zfs/issues/#issue/101) regarding ACLs on
ZFS, nobody replied.
I've started looking at zfs source code, and I've tried to implement
Posix ACL compatibility myself, by inspecting ext3 source code (lzfs
module is GPL, and not CDDL, right??).
My implementation is working, and passes the PJD POSIX file system test
suite (
http://www.tuxera.com/community/posix-test-suite/ ) except for
one point: tests/xacl/00.t test number 45. (modifying an acl shouldn't
change ctime). But also ext3 fails this test.
I've packaged my tree, the kernel I've used (compiled to be used in KVM,
also with virtio) and the config file used to generate it at
http://public.maxstorage.axu.it/zfs-with-acl.tbz2 , if someone wants to
check it out.
I've removed all of .ko and .o files for licensing issues (for my very
poor understanding of law, it's not legal to distribute binary
derivatives of GPL+CDDL code, so binary kernel modules and object files.
Am I right?).
The source code is *very* messy,I know, and I expect it won't compile
against any other kernel version than 2.6.36.
It has *A LOT* of printk's and a call to spl_debug_mydumpstack which
pollutes your dmesg.
All of my changes are inside lzfs module. I've tried to keep the biggest
part of the code in a new file (lzfs_xattr_acl.c) but there are some
small changes elsewhere.
If there is an interest in this code for upstream merging, I will clean
it, split it in git commits (with useful descriptions) and make it
availabile for example on my github account. Otherwise I won't bother to
do it. (maybe it is not welcome for compatibility reasons with other
platforms or whatever).
Obviously it comes without any guarantee.
Massimo Maggi