diff options
| author | Heinrich Schuchardt <[email protected]> | 2024-10-25 06:56:01 +0200 |
|---|---|---|
| committer | Heinrich Schuchardt <[email protected]> | 2024-10-30 21:44:39 +0100 |
| commit | 9aabcad1a7886be22df359a4bd48940d745b3730 (patch) | |
| tree | 30900743ac0b4391090be5b4579cfb357de44fcd /include | |
| parent | 4588ab997634a73ac2ac6b47ce8009152f59cace (diff) | |
fs: ext4: document struct ext2_inode
Provide Sphinx style documentation for struct ext2_inode.
Signed-off-by: Heinrich Schuchardt <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Diffstat (limited to 'include')
| -rw-r--r-- | include/ext_common.h | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/include/ext_common.h b/include/ext_common.h index b09bbde116a..6e17fbd2771 100644 --- a/include/ext_common.h +++ b/include/ext_common.h @@ -173,20 +173,38 @@ struct ext2_block_group { __le32 bg_reserved; }; -/* The ext2 inode. */ +/** + * struct ext2_inode - ext2 inode + * + * For details see Linux file + * Documentation/filesystems/ext4/inodes.rst. + */ struct ext2_inode { + /** @mode: file mode */ __le16 mode; + /** @uid: lower 16 bits of owner UID */ __le16 uid; + /** @size: lower 32 bits of file size */ __le32 size; + /** @atime: last access time */ __le32 atime; + /** @ctime: last change time */ __le32 ctime; + /** @mtime: last modification time */ __le32 mtime; + /** @dtime: deletion time */ __le32 dtime; + /** @gid: lower 16 bits of group ID */ __le16 gid; + /** @nlinks: number of hard links */ __le16 nlinks; - __le32 blockcnt; /* Blocks of either 512 or block_size bytes */ + /** @blockcnt: lower 32 bit of block count */ + __le32 blockcnt; + /** @flags: inode flags */ __le32 flags; + /** @osd1: operating system specific data */ __le32 osd1; + /** @b: block map or extent tree */ union { struct datablocks { __le32 dir_blocks[INDIRECT_BLOCKS]; @@ -197,10 +215,19 @@ struct ext2_inode { char symlink[60]; char inline_data[60]; } b; + /** @version: file version (for NFS) */ __le32 version; + /** @acl: lower 32 bit of extended attribute block */ __le32 acl; - __le32 size_high; /* previously dir_acl, but never used */ + /** @size_high - dir_acl on ext2/3, upper 32 size bits on ext4 + * + * In ext2/3 this field was named i_dir_acl, though it was usually set + * to zero and never used. + */ + __le32 size_high; + /** @fragment_addr - (obsolete) fragment address */ __le32 fragment_addr; + /** @osd2: operating system specific data */ __le32 osd2[3]; }; |
