The current serialization of the ACLs is suboptimal. ACL entries should be serialized using the same scheme that the PB-based FSImage serializes permissions.
An ACL entry is represented by a 32-bit integer in Big Endian format. The bits can be divided in four segments:
[0:2) || [2:26) || [26:27) || [27:29) || [29:32)
[0:2) – reserved for futute uses.
[2:26) – the name of the entry, which is an ID that points to a string in the StringTableSection.
[26:27) – the scope of the entry (AclEntryScopeProto)
[27:29) – the type of the entry (AclEntryTypeProto)
[29:32) – the permission of the entry (FsActionProto)