Commit ed34aa4a authored by Gao Xiang's avatar Gao Xiang Committed by Greg Kroah-Hartman

erofs: kill __packed for on-disk structures

As Christoph suggested "Please don't add __packed" [1],
remove all __packed except struct erofs_dirent here.

Note that all on-disk fields except struct erofs_dirent
(12 bytes with a 8-byte nid) in EROFS are naturally aligned.

[1] https://lore.kernel.org/r/20190829095954.GB20598@infradead.org/Reported-by: default avatarChristoph Hellwig <hch@infradead.org>
Signed-off-by: default avatarGao Xiang <gaoxiang25@huawei.com>
Link: https://lore.kernel.org/r/20190904020912.63925-5-gaoxiang25@huawei.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b6796abd
...@@ -38,7 +38,7 @@ struct erofs_super_block { ...@@ -38,7 +38,7 @@ struct erofs_super_block {
__le32 requirements; /* (aka. feature_incompat) */ __le32 requirements; /* (aka. feature_incompat) */
__u8 reserved2[44]; __u8 reserved2[44];
} __packed; };
/* /*
* erofs inode data mapping: * erofs inode data mapping:
...@@ -91,12 +91,12 @@ struct erofs_inode_v1 { ...@@ -91,12 +91,12 @@ struct erofs_inode_v1 {
/* for device files, used to indicate old/new device # */ /* for device files, used to indicate old/new device # */
__le32 rdev; __le32 rdev;
} i_u __packed; } i_u;
__le32 i_ino; /* only used for 32-bit stat compatibility */ __le32 i_ino; /* only used for 32-bit stat compatibility */
__le16 i_uid; __le16 i_uid;
__le16 i_gid; __le16 i_gid;
__le32 i_reserved2; __le32 i_reserved2;
} __packed; };
/* 32 bytes on-disk inode */ /* 32 bytes on-disk inode */
#define EROFS_INODE_LAYOUT_V1 0 #define EROFS_INODE_LAYOUT_V1 0
...@@ -119,7 +119,7 @@ struct erofs_inode_v2 { ...@@ -119,7 +119,7 @@ struct erofs_inode_v2 {
/* for device files, used to indicate old/new device # */ /* for device files, used to indicate old/new device # */
__le32 rdev; __le32 rdev;
} i_u __packed; } i_u;
/* only used for 32-bit stat compatibility */ /* only used for 32-bit stat compatibility */
__le32 i_ino; __le32 i_ino;
...@@ -130,7 +130,7 @@ struct erofs_inode_v2 { ...@@ -130,7 +130,7 @@ struct erofs_inode_v2 {
__le32 i_ctime_nsec; __le32 i_ctime_nsec;
__le32 i_nlink; __le32 i_nlink;
__u8 i_reserved2[16]; __u8 i_reserved2[16];
} __packed; };
#define EROFS_MAX_SHARED_XATTRS (128) #define EROFS_MAX_SHARED_XATTRS (128)
/* h_shared_count between 129 ... 255 are special # */ /* h_shared_count between 129 ... 255 are special # */
...@@ -152,7 +152,7 @@ struct erofs_xattr_ibody_header { ...@@ -152,7 +152,7 @@ struct erofs_xattr_ibody_header {
__u8 h_shared_count; __u8 h_shared_count;
__u8 h_reserved2[7]; __u8 h_reserved2[7];
__le32 h_shared_xattrs[0]; /* shared xattr id array */ __le32 h_shared_xattrs[0]; /* shared xattr id array */
} __packed; };
/* Name indexes */ /* Name indexes */
#define EROFS_XATTR_INDEX_USER 1 #define EROFS_XATTR_INDEX_USER 1
...@@ -169,7 +169,7 @@ struct erofs_xattr_entry { ...@@ -169,7 +169,7 @@ struct erofs_xattr_entry {
__le16 e_value_size; /* size of attribute value */ __le16 e_value_size; /* size of attribute value */
/* followed by e_name and e_value */ /* followed by e_name and e_value */
char e_name[0]; /* attribute name */ char e_name[0]; /* attribute name */
} __packed; };
static inline unsigned int erofs_xattr_ibody_size(__le16 i_xattr_icount) static inline unsigned int erofs_xattr_ibody_size(__le16 i_xattr_icount)
{ {
...@@ -273,8 +273,8 @@ struct z_erofs_vle_decompressed_index { ...@@ -273,8 +273,8 @@ struct z_erofs_vle_decompressed_index {
* [1] - pointing to the tail cluster * [1] - pointing to the tail cluster
*/ */
__le16 delta[2]; __le16 delta[2];
} di_u __packed; } di_u;
} __packed; };
#define Z_EROFS_VLE_LEGACY_INDEX_ALIGN(size) \ #define Z_EROFS_VLE_LEGACY_INDEX_ALIGN(size) \
(round_up(size, sizeof(struct z_erofs_vle_decompressed_index)) + \ (round_up(size, sizeof(struct z_erofs_vle_decompressed_index)) + \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment