It's occasionally useful for me to know what the sizes of xdr-encoded nfsv4
ACLs would be likely to be. So:
length of ACL is 4 + (length of first ACE) + (length of second ACE) ...
length of one ACE, in bytes: type + flags + mask + name length + name
= 16 + (length of name rounded up to 4)
lengths of common names:
OWNER@: 6 + 2 = 8
GROUP@: 6 + 2 = 8
EVERYONE@: 9 + 3 = 12
So, length of minimal six-element ACL:
4 + 2 * (16 + 8) + 2 * (16 + 8) + 2 * (16 + 12) = 156
With a mask:
4 + 152 + (16 + 8) = 180
Length of my own username:
bfields@citi.umich.edu: 22 + 2
ACL with m user entries the length of my name, and n group entries of the
same length:
180 + 3 * m * (16 + 24) + 3 * n * (16 + 24)
= 180 + 120(m + n)
So a page, e.g., could hold ACLs with names of length up to 24 and m + n up to
32, which seems pretty reasonable.
Worst-case name lengths can be arbitrarily bad, though.