fs: ext4: document struct ext2_inode

Provide Sphinx style documentation for struct ext2_inode.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Heinrich Schuchardt 2024-10-25 06:56:01 +02:00
parent 4588ab9976
commit 9aabcad1a7

View File

@ -173,20 +173,38 @@ struct ext2_block_group {
__le32 bg_reserved; __le32 bg_reserved;
}; };
/* The ext2 inode. */ /**
* struct ext2_inode - ext2 inode
*
* For details see Linux file
* Documentation/filesystems/ext4/inodes.rst.
*/
struct ext2_inode { struct ext2_inode {
/** @mode: file mode */
__le16 mode; __le16 mode;
/** @uid: lower 16 bits of owner UID */
__le16 uid; __le16 uid;
/** @size: lower 32 bits of file size */
__le32 size; __le32 size;
/** @atime: last access time */
__le32 atime; __le32 atime;
/** @ctime: last change time */
__le32 ctime; __le32 ctime;
/** @mtime: last modification time */
__le32 mtime; __le32 mtime;
/** @dtime: deletion time */
__le32 dtime; __le32 dtime;
/** @gid: lower 16 bits of group ID */
__le16 gid; __le16 gid;
/** @nlinks: number of hard links */
__le16 nlinks; __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; __le32 flags;
/** @osd1: operating system specific data */
__le32 osd1; __le32 osd1;
/** @b: block map or extent tree */
union { union {
struct datablocks { struct datablocks {
__le32 dir_blocks[INDIRECT_BLOCKS]; __le32 dir_blocks[INDIRECT_BLOCKS];
@ -197,10 +215,19 @@ struct ext2_inode {
char symlink[60]; char symlink[60];
char inline_data[60]; char inline_data[60];
} b; } b;
/** @version: file version (for NFS) */
__le32 version; __le32 version;
/** @acl: lower 32 bit of extended attribute block */
__le32 acl; __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; __le32 fragment_addr;
/** @osd2: operating system specific data */
__le32 osd2[3]; __le32 osd2[3];
}; };