Lines Matching refs:directory
6 In an ext4 filesystem, a directory is more or less a flat file that maps
8 filesystem. There can be many directory entries across the filesystem
11 such, directory entries are found by reading the data block(s)
12 associated with a directory file for the particular directory entry that
18 By default, each directory lists its entries in an “almost-linear”
20 sense because directory entries are not split across filesystem blocks.
21 Therefore, it is more accurate to say that a directory is a series of
22 data blocks and that each block contains a linear array of directory
26 directory is of course signified by reaching the end of the file. Unused
27 directory entries are signified by inode = 0. By default the filesystem
28 uses ``struct ext4_dir_entry_2`` for directory entries unless the
32 The original directory entry format is ``struct ext4_dir_entry``, which
47 - Number of the inode that this directory entry points to.
51 - Length of this directory entry. Must be a multiple of 4.
61 Since file names cannot be longer than 255 bytes, the new directory
63 type flag, probably to avoid having to load every inode during directory
79 - Number of the inode that this directory entry points to.
83 - Length of this directory entry.
99 The directory file type is one of the following values:
125 must also include hash information in the directory entry. We append
128 after ``name`` and is included in the size listed by ``rec_len`` If a directory
142 - The hash of the directory name
146 - The minor hash of the directory name
149 In order to add checksums to these classic directory blocks, a phony
151 hold the checksum. The directory entry is 12 bytes long. The inode
153 ignoring an apparently empty directory entry, and the checksum is stored
172 - Length of this directory entry, which must be 12.
186 The leaf directory block checksum is calculated against the FS UUID, the
187 directory's inode number, the directory's inode generation number, and
188 the entire directory entry block up to (but not including) the fake
189 directory entry.
194 A linear array of directory entries isn't great for performance, so a
196 balanced tree keyed off a hash of the directory entry name. If the
197 EXT4_INDEX_FL (0x1000) flag is set in the inode, this directory uses a
198 hashed btree (htree) to organize and find directory entries. For
200 hidden inside the directory file, masquerading as “empty” directory data
201 blocks! It was stated previously that the end of the linear directory
204 rest of the directory block is empty so that it moves on.
207 directory. By ext2 custom, the '.' and '..' entries must appear at the
223 To traverse the directory as a htree, the code calculates the hash of
225 number. If the tree is flat, the block is a linear array of directory
229 directory entries.
231 To traverse the directory as a linear array (such as the old code does),
232 the code simply reads every data block in the directory. The blocks used
250 - inode number of this directory.
262 - File type of this entry, 0x2 (directory) (if the feature flag is set).
270 - inode number of parent directory.
283 - File type of this entry, 0x2 (directory) (if the feature flag is set).
322 - The block number (within the directory file) that goes with hash=0.
330 The directory hash is one of the following values:
375 - Zero. There is no name for this “unused” directory entry.
379 - Zero. There is no file type for this “unused” directory entry.
393 - The block number (within the directory file) that goes with the lowest
419 - Block number (within the directory file, not filesystem blocks) of the
425 If metadata checksums are enabled, the last 8 bytes of the directory
431 directory index (which will ensure that there's space for the checksum.
449 - Checksum of the htree directory block.