Skip to content

Commit

Permalink
staging: erofs: keep up erofs_fs.h with erofs-outofstaging patchset
Browse files Browse the repository at this point in the history
The main change is to reserve all checksums except for superblock,
since it's more useful to do block-based verity for read-only fs.

Some comments change as well, which is minor.

Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Link: https://lore.kernel.org/r/20190731155752.210602-5-gaoxiang25@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Gao Xiang authored and Greg Kroah-Hartman committed Aug 2, 2019
1 parent 5734fa2 commit cead56f
Showing 1 changed file with 19 additions and 20 deletions.
39 changes: 19 additions & 20 deletions drivers/staging/erofs/erofs_fs.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ struct erofs_inode_v1 {
/* 20 */__le32 i_ino; /* only used for 32-bit stat compatibility */
/* 24 */__le16 i_uid;
/* 26 */__le16 i_gid;
/* 28 */__le32 i_checksum;
/* 28 */__le32 i_reserved2;
} __packed;

/* 32 bytes on-disk inode */
Expand All @@ -105,14 +105,14 @@ struct erofs_inode_v1 {
#define EROFS_INODE_LAYOUT_V2 1

struct erofs_inode_v2 {
__le16 i_advise;
/* 0 */__le16 i_advise;

/* 1 header + n-1 * 4 bytes inline xattr to keep continuity */
__le16 i_xattr_icount;
__le16 i_mode;
__le16 i_reserved; /* 8 bytes */
__le64 i_size; /* 16 bytes */
union {
/* 1 header + n-1 * 4 bytes inline xattr to keep continuity */
/* 2 */__le16 i_xattr_icount;
/* 4 */__le16 i_mode;
/* 6 */__le16 i_reserved;
/* 8 */__le64 i_size;
/* 16 */union {
/* file total compressed blocks for data mapping 1 */
__le32 compressed_blocks;
__le32 raw_blkaddr;
Expand All @@ -122,16 +122,15 @@ struct erofs_inode_v2 {
} i_u __packed;

/* only used for 32-bit stat compatibility */
__le32 i_ino; /* 24 bytes */

__le32 i_uid;
__le32 i_gid;
__le64 i_ctime; /* 32 bytes */
__le32 i_ctime_nsec;
__le32 i_nlink;
__u8 i_reserved2[12];
__le32 i_checksum; /* 64 bytes */
} __packed;
/* 20 */__le32 i_ino;

/* 24 */__le32 i_uid;
/* 28 */__le32 i_gid;
/* 32 */__le64 i_ctime;
/* 40 */__le32 i_ctime_nsec;
/* 44 */__le32 i_nlink;
/* 48 */__u8 i_reserved2[16];
} __packed; /* 64 bytes */

#define EROFS_MAX_SHARED_XATTRS (128)
/* h_shared_count between 129 ... 255 are special # */
Expand All @@ -149,9 +148,9 @@ struct erofs_inode_v2 {
* for read-only fs, no need to introduce h_refcount
*/
struct erofs_xattr_ibody_header {
__le32 h_checksum;
__le32 h_reserved;
__u8 h_shared_count;
__u8 h_reserved[7];
__u8 h_reserved2[7];
__le32 h_shared_xattrs[0]; /* shared xattr id array */
} __packed;

Expand Down

0 comments on commit cead56f

Please sign in to comment.