xref: /linux/Documentation/filesystems/ext4/eainode.rst (revision 70d1b1a7f8b32b78c09b30dbcfa25ba1e470568b)
1.. SPDX-License-Identifier: GPL-2.0
2
3Large Extended Attribute Values
4-------------------------------
5
6To enable ext4 to store extended attribute values that do not fit in the
7inode or in the single extended attribute block attached to an inode,
8the EA_INODE feature allows us to store the value in the data blocks of
9a regular file inode. This “EA inode” is linked only from the extended
10attribute name index and must not appear in a directory entry. The
11inode's i_atime field is used to store a checksum of the xattr value;
12and i_ctime/i_version store a 64-bit reference count, which enables
13sharing of large xattr values between multiple owning inodes. For
14backward compatibility with older versions of this feature, the
15i_mtime/i_generation *may* store a back-reference to the inode number
16and i_generation of the **one** owning inode (in cases where the EA
17inode is not referenced by multiple inodes) to verify that the EA inode
18is the correct one being accessed.
19