Extended attributes are name:value pairs associated permanently with
files and directories, similar to the environment strings associated
with a process. An attribute may be defined or undefined. If it is
defined, its value may be empty or non-empty.
Extended attributes are extensions to the normal attributes which are
associated with all inodes in the system (i.e. the stat(2) data). They
are often used to provide additional functionality to a filesystem -
for example, additional security features such as Access Control Lists
(ACLs) may be implemented using extended attributes.
Users with search access to a file or directory may retrieve a list of
attribute names defined for that file or directory.
Extended attributes are accessed as atomic objects. Reading retrieves
the whole value of an attribute and stores it in a buffer. Writing
replaces any previous value with…