Hi Frank, You can't simulate the aclmode-less world in the upcoming release by setting aclmode to discard in b134.
The reason you see your aclmode discarded because aclmode applies to both chmod operations and file/dir create operations. This is why you are seeing the ACL being discarded. It does not do this in build 147. Thanks, Cindy On 10/23/10 05:33, Frank Lahm wrote:
Hi list, while preparing for the changed ACL/mode_t mapping semantics coming with onnv-147 [1], I discovered that in onnv-134 on my system ACLs are not inherited when aclmode is set to passthrough for the filesystem. This very much puzzles me. Example: $ uname -a SunOS os 5.11 snv_134 i86pc i386 i86pc $ pwd /Volumes/ACLs/dir1 $ zfs list | grep /Volumes rpool/Volumes 7,00G 39,7G 6,84G /Volumes $ zfs get aclmode,aclinherit rpool/Volumes NAME PROPERTY VALUE SOURCE rpool/Volumes aclmode passthrough local rpool/Volumes aclinherit passthrough local $ ls -dlV . drwxr-xr-x+ 3 ldapadmin ldapgroup2 3 Okt 23 13:19 . group:ldapgroup1:rwxp--aARWc---:fdi----:allow group:ldapgroup1:rwxp--aARWc---:-------:allow owner@:--------------:-------:deny owner@:rwxp---A-W-Co-:-------:allow group@:-w-p----------:-------:deny group@:r-x-----------:-------:allow everyone@:-w-p---A-W-Co-:-------:deny everyone@:r-x---a-R-c--s:-------:allow $ id uid=5001(ldapuser1) gid=5001(ldapgroup1) $ touch file $ ls -lV file -rw-r--r--+ 1 ldapuser1 ldapgroup1 0 Okt 23 13:21 file group:ldapgroup1:rwxp--aARWc---:------I:allow owner@:--x-----------:-------:deny owner@:rw-p---A-W-Co-:-------:allow group@:-wxp----------:-------:deny group@:r-------------:-------:allow everyone@:-wxp---A-W-Co-:-------:deny everyone@:r-----a-R-c--s:-------:allow $ exit # zfs set aclmode=discard rpool/Volumes # su ldapuser1 ldapus...@os:/Volumes/ACLs/dir1$ export PS1="$ " $ zfs get aclmode,aclinherit rpool/Volumes NAME PROPERTY VALUE SOURCE rpool/Volumes aclmode discard local rpool/Volumes aclinherit passthrough local $ touch file2 $ ls -lV file2 -rw-r--r-- 1 ldapuser1 ldapgroup1 0 Okt 23 13:22 file2 owner@:--x-----------:-------:deny owner@:rw-p---A-W-Co-:-------:allow group@:-wxp----------:-------:deny group@:r-------------:-------:allow everyone@:-wxp---A-W-Co-:-------:deny everyone@:r-----a-R-c--s:-------:allow $ truss -v all touch file3 ... stat64("file3", 0x08047BF0) Err#2 ENOENT creat64("file3", 0666) = 3 futimens(3, 0x00000000) = 0 close(3) = 0 _exit(0) touch is not calling chmod(), also the same happens with mkdir.1 (which also doesn't call chmod()). To summarize: ACLs are not inherited when aclmode = discard. Why is this? Afaik this should not be the case. Thanks! -f [1] http://arc.opensolaris.org/caselog/PSARC/2010/029/20100126_mark.shellenbaum _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
_______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss