aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/filesystems/ext4/directory.rst')
-rw-r--r--Documentation/filesystems/ext4/directory.rst27
1 files changed, 27 insertions, 0 deletions
diff --git a/Documentation/filesystems/ext4/directory.rst b/Documentation/filesystems/ext4/directory.rst
index 073940cc64ed..55f618b37144 100644
--- a/Documentation/filesystems/ext4/directory.rst
+++ b/Documentation/filesystems/ext4/directory.rst
@@ -121,6 +121,31 @@ The directory file type is one of the following values:
121 * - 0x7 121 * - 0x7
122 - Symbolic link. 122 - Symbolic link.
123 123
124To support directories that are both encrypted and casefolded directories, we
125must also include hash information in the directory entry. We append
126``ext4_extended_dir_entry_2`` to ``ext4_dir_entry_2`` except for the entries
127for dot and dotdot, which are kept the same. The structure follows immediately
128after ``name`` and is included in the size listed by ``rec_len`` If a directory
129entry uses this extension, it may be up to 271 bytes.
130
131.. list-table::
132 :widths: 8 8 24 40
133 :header-rows: 1
134
135 * - Offset
136 - Size
137 - Name
138 - Description
139 * - 0x0
140 - \_\_le32
141 - hash
142 - The hash of the directory name
143 * - 0x4
144 - \_\_le32
145 - minor\_hash
146 - The minor hash of the directory name
147
148
124In order to add checksums to these classic directory blocks, a phony 149In order to add checksums to these classic directory blocks, a phony
125``struct ext4_dir_entry`` is placed at the end of each leaf block to 150``struct ext4_dir_entry`` is placed at the end of each leaf block to
126hold the checksum. The directory entry is 12 bytes long. The inode 151hold the checksum. The directory entry is 12 bytes long. The inode
@@ -322,6 +347,8 @@ The directory hash is one of the following values:
322 - Half MD4, unsigned. 347 - Half MD4, unsigned.
323 * - 0x5 348 * - 0x5
324 - Tea, unsigned. 349 - Tea, unsigned.
350 * - 0x6
351 - Siphash.
325 352
326Interior nodes of an htree are recorded as ``struct dx_node``, which is 353Interior nodes of an htree are recorded as ``struct dx_node``, which is
327also the full length of a data block: 354also the full length of a data block: