Implementation in Ext2

The implementation of extended attributes in Ext2 is quite similar to the implementation in Ext3 presented above. This is not surprising since Ext3 is a direct descendent of Ext2, but nevertheless, some features present in Ext3 that are not available in Ext2 are the source of some differences in the xattr implementation:

□ Since Ext2 does not support dynamic inode sizes, there is not sufficient space left in the on-disk inode to store the data of extended attributes. Thus, xattrs are always stored on a separate data block. This simplifies some functions because no distinction between different locations of the extended attribute data is necessary.

□ Ext2 does not use journaling, so all journaling-related function calls are not necessary. This also eliminates the need for some wrapper functions that are just dealing with handle operations.

Otherwise, both implementations are nearly identical; for most functions described above, a variant with the prefix ext3_ replaced with ext2_ is available.

Continue reading here: Access Control Lists

Was this article helpful?

0 0