summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorHeinrich Schuchardt <[email protected]>2024-10-25 06:56:01 +0200
committerHeinrich Schuchardt <[email protected]>2024-10-30 21:44:39 +0100
commit9aabcad1a7886be22df359a4bd48940d745b3730 (patch)
tree30900743ac0b4391090be5b4579cfb357de44fcd /include
parent4588ab997634a73ac2ac6b47ce8009152f59cace (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.h33
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];
};