[PATCH 1/1] fs: ext4: document struct ext2_inode
Simon Glass
sjg at chromium.org
Thu Oct 24 18:36:42 CEST 2024
On Thu, 24 Oct 2024 at 15:16, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> Provide Sphinx style documentation for struct ext2_inode.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
> include/ext_common.h | 30 +++++++++++++++++++++++++++---
> 1 file changed, 27 insertions(+), 3 deletions(-)
>
Reviewed-by: Simon Glass <sjg at chromium.org>
> diff --git a/include/ext_common.h b/include/ext_common.h
> index b09bbde116a..a85ac04f79a 100644
> --- a/include/ext_common.h
> +++ b/include/ext_common.h
> @@ -173,20 +173,35 @@ struct ext2_block_group {
> __le32 bg_reserved;
> };
>
> -/* The ext2 inode. */
> +/**
> + * struct ext2_inode - ext2 inode
> + */
> 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 */
Is this seconds since 1970?
> __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;
Where are the values for these flags?
> + /** @osd1: operating system specific data */
hyphen before specific
> __le32 osd1;
> + /** @b: block map or extent tree */
> union {
> struct datablocks {
> __le32 dir_blocks[INDIRECT_BLOCKS];
> @@ -197,10 +212,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;
Can you link to where the attributes are defined, or add the enum name?
> - __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];
> };
>
> --
> 2.45.2
>
Regards,
Simon
More information about the U-Boot
mailing list