Maximum number of acls on directory on ext3: 28? (bs does not matter, 1024/2048/4096 tested)
"Jochen Tuchbreiter" <[email protected]> Sun, 23 Jan 2005 13:21:15 +0100
| Newsgroups | gmane.linux.file-systems.acl.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello,
running 2.4.28 with latest stable acl-patch with ea-sharing DISABLED I
encounter the following:
If I try to set more than 28 acl-entries of one type on any given directory
setfacl returns:
setfacl: /tmp/aclnotest: Invalid argument
Okay, according to attr(5) manpage there is a limit on the size of the ea of
each file/directory:
"
In the current ext2 and ext3 filesystem implementations, all extended
attributes must fit on a single filesystem block (1024, 2048 or 4096 bytes,
depending on the block size specified when the filesystem was created).
This limit may be removed in a future version.
"
I do have a low block size:
from tune2fs -l:
Block size: 2048
However the same happens with a block size of 1024 and 4096 though, exactly
28 entries fit. Why is this?
Same happened with 2.6.11-rc1-bk6 (+ all patches andreas sent me for this
kernel) with ea-sharing enabled: Block size of 2048 yields only 28 entries.
Is this expected behaviour or does it look like a problem? Can I somehow
increase this limit? (ie: Blocksize is not the prob, I need to increase some
kernel-variable or something).
I tried to do my google homework but could not come up with anything except
for switching to XFS to get rid of the limit altogether.
regards,
Jochen
Perl-Script I used for testing:
#!/usr/bin/perl
mkdir("/tmp/aclnotest");
for ($i=500; $i<600; $i++) {
$cmd = "setfacl -m user:$i:--x /tmp/aclnotest";
print "executing $cmd\n";
print `$cmd`;
}
Example output:
[TEST|root@xxx aclbreak]# perl ./test_number.pl
executing setfacl -m user:500:--x /acltest/number
executing setfacl -m user:501:--x /acltest/number
executing setfacl -m user:502:--x /acltest/number
executing setfacl -m user:503:--x /acltest/number
executing setfacl -m user:504:--x /acltest/number
executing setfacl -m user:505:--x /acltest/number
executing setfacl -m user:506:--x /acltest/number
executing setfacl -m user:507:--x /acltest/number
executing setfacl -m user:508:--x /acltest/number
executing setfacl -m user:509:--x /acltest/number
executing setfacl -m user:510:--x /acltest/number
executing setfacl -m user:511:--x /acltest/number
executing setfacl -m user:512:--x /acltest/number
executing setfacl -m user:513:--x /acltest/number
executing setfacl -m user:514:--x /acltest/number
executing setfacl -m user:515:--x /acltest/number
executing setfacl -m user:516:--x /acltest/number
executing setfacl -m user:517:--x /acltest/number
executing setfacl -m user:518:--x /acltest/number
executing setfacl -m user:519:--x /acltest/number
executing setfacl -m user:520:--x /acltest/number
executing setfacl -m user:521:--x /acltest/number
executing setfacl -m user:522:--x /acltest/number
executing setfacl -m user:523:--x /acltest/number
executing setfacl -m user:524:--x /acltest/number
executing setfacl -m user:525:--x /acltest/number
executing setfacl -m user:526:--x /acltest/number
executing setfacl -m user:527:--x /acltest/number
executing setfacl -m user:528:--x /acltest/number
setfacl: /acltest/number: Invalid argument
executing setfacl -m user:529:--x /acltest/number
setfacl: /acltest/number: Invalid argument
... and so on
_______________________________________________
acl-devel mailing list
[email protected]
http://acl.bestbits.at/mailman/listinfo/acl-devel