Copying EAs and ACLs

jw schultz jw at
Mon Mar 10 13:25:47 EST 2003

On Sun, Mar 09, 2003 at 08:55:21AM -0800, Ben Escoto wrote:
> How many bytes per file on average do you think EAs/ACLs will take up?

There is no way to know.  It all depends on how they are
used.  What is your average file size and how many terabytes
of storage will you manage in two years? (rhetorical question)

In a binary purely POSIX form each ACE (Access Control
Entry) could be managed in 6 or 8 bytes but the libs don't
seem to have a documented portable binary format.  A POSIX
variable length text format would use 11-18 bytes for each
ACE depending on UID size (decimal) and type.  Non-POSIX or
portable ACEs would be larger of course.  If we strip out
the base ACL (what maps to the UGO mask) i imagine (blind
stab in the dark) the typical ACL might have only 3 or 4
ACEs so we would be looking at around 64 bytes plus
overhead, that is only a little smaller than our current
per-file structure.

As for EAs, who knows.  With just capabilities and other
security hooks it might be fairly small (one or two hundred
bytes).  Add resource forks, icons, thumbnails, signed
md5sums, other preferences, and who knows what else -- i
can't even guess.  At the moment Ext[23] limit EAs
(including the binary ACL) to one block (typically 4KB) but
the syscall and other filesystems (XFS at least) only limit
the size of each EA to 64KB and no limit on the number of
EAs per file.

What i do expect for the next few years is that almost all
files will have no EAs and that less than half will have
ACLs.  I do however expect that ACL usage will affect entire
trees (setfacl -R -m) rather than scattered files.

	J.W. Schultz            Pegasystems Technologies
	email address:		jw at

		Remember Cernan and Schmitt

More information about the rsync mailing list