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