diff --git a/lustre/ptlrpc/wiretest.c b/lustre/ptlrpc/wiretest.c index 4b4493546034f1bcabbe2b89c6a46f2f6c96f763..0df9d23515980a4474ff3c6138f08cbd113cf62b 100644 --- a/lustre/ptlrpc/wiretest.c +++ b/lustre/ptlrpc/wiretest.c @@ -382,23 +382,14 @@ void lustre_assert_wire_constants(void) (long long)(int)offsetof(struct ptlrpc_body, pb_service_time)); LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_service_time) == 4, " found %lld\n", (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_service_time)); - LASSERTF((int)offsetof(struct ptlrpc_body, pb_limit) == 76, " found %lld\n", - (long long)(int)offsetof(struct ptlrpc_body, pb_limit)); - LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_limit) == 4, " found %lld\n", - (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_limit)); LASSERTF((int)offsetof(struct ptlrpc_body, pb_slv) == 80, " found %lld\n", (long long)(int)offsetof(struct ptlrpc_body, pb_slv)); LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_slv) == 8, " found %lld\n", (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_slv)); - LASSERTF((int)offsetof(struct ptlrpc_body, pb_pre_versions) == 88, " found %lld\n", - (long long)(int)offsetof(struct ptlrpc_body, pb_pre_versions)); - LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_pre_versions) == 32, " found %lld\n", - (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_pre_versions)); - LASSERTF((int)offsetof(struct ptlrpc_body, pb_padding) == 120, " found %lld\n", - (long long)(int)offsetof(struct ptlrpc_body, pb_padding)); - LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_padding) == 32, " found %lld\n", - (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_padding)); - + LASSERTF((int)offsetof(struct ptlrpc_body, pb_limit) == 76, " found %lld\n", + (long long)(int)offsetof(struct ptlrpc_body, pb_limit)); + LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_limit) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_limit)); /* Checks for struct obd_connect_data */ LASSERTF((int)sizeof(struct obd_connect_data) == 72, " found %lld\n", @@ -2159,6 +2150,78 @@ void lustre_assert_wire_constants(void) (long long)(int)offsetof(struct lustre_disk_data, ldd_params)); LASSERTF((int)sizeof(((struct lustre_disk_data *)0)->ldd_params) == 4096, " found %lld\n", (long long)(int)sizeof(((struct lustre_disk_data *)0)->ldd_params)); + + /* Checks for struct ll_user_fiemap */ + LASSERTF((int)sizeof(struct ll_user_fiemap) == 32, " found %lld\n", + (long long)(int)sizeof(struct ll_user_fiemap)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_start) == 0, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_start)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_start) == 8, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_start)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_length) == 8, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_length)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_length) == 8, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_length)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_flags) == 16, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_flags)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_flags) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_flags)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_mapped_extents) == 20, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_mapped_extents)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_mapped_extents) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_mapped_extents)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_extent_count) == 24, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_extent_count)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_extent_count) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_extent_count)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_reserved) == 28, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_reserved)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_reserved) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_reserved)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_extents) == 32, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_extents)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_extents) == 0, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_extents)); + CLASSERT(FIEMAP_FLAG_SYNC == 0x00000001); + CLASSERT(FIEMAP_FLAG_XATTR == 0x00000002); + CLASSERT(FIEMAP_FLAG_DEVICE_ORDER == 0x40000000); + + /* Checks for struct ll_fiemap_extent */ + LASSERTF((int)sizeof(struct ll_fiemap_extent) == 32, " found %lld\n", + (long long)(int)sizeof(struct ll_fiemap_extent)); + LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_logical) == 0, " found %lld\n", + (long long)(int)offsetof(struct ll_fiemap_extent, fe_logical)); + LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_logical) == 8, " found %lld\n", + (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_logical)); + LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_physical) == 8, " found %lld\n", + (long long)(int)offsetof(struct ll_fiemap_extent, fe_physical)); + LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_physical) == 8, " found %lld\n", + (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_physical)); + LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_length) == 16, " found %lld\n", + (long long)(int)offsetof(struct ll_fiemap_extent, fe_length)); + LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_length) == 8, " found %lld\n", + (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_length)); + LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_flags) == 24, " found %lld\n", + (long long)(int)offsetof(struct ll_fiemap_extent, fe_flags)); + LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_flags) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_flags)); + LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_device) == 28, " found %lld\n", + (long long)(int)offsetof(struct ll_fiemap_extent, fe_device)); + LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_device) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_device)); + CLASSERT(FIEMAP_EXTENT_LAST == 0x00000001); + CLASSERT(FIEMAP_EXTENT_UNKNOWN == 0x00000002); + CLASSERT(FIEMAP_EXTENT_DELALLOC == 0x00000004); + CLASSERT(FIEMAP_EXTENT_NO_DIRECT == 0x00000008); + CLASSERT(FIEMAP_EXTENT_SECONDARY == 0x00000010); + CLASSERT(FIEMAP_EXTENT_NET == 0x00000020); + CLASSERT(FIEMAP_EXTENT_DATA_COMPRESSED == 0x00000040); + CLASSERT(FIEMAP_EXTENT_DATA_ENCRYPTED == 0x00000080); + CLASSERT(FIEMAP_EXTENT_NOT_ALIGNED == 0x00000100); + CLASSERT(FIEMAP_EXTENT_DATA_INLINE == 0x00000200); + CLASSERT(FIEMAP_EXTENT_DATA_TAIL == 0x00000400); + CLASSERT(FIEMAP_EXTENT_UNWRITTEN == 0x00000800); + CLASSERT(FIEMAP_EXTENT_MERGED == 0x00001000); #ifdef LIBLUSTRE_POSIX_ACL /* Checks for type posix_acl_xattr_entry */ @@ -2190,3 +2253,4 @@ void lustre_assert_wire_constants(void) (long long)(int)sizeof(((xattr_acl_header *)0)->a_entries)); #endif } + diff --git a/lustre/utils/wirecheck.c b/lustre/utils/wirecheck.c index 9dab8b5dbefd06c2101602c7fb34f17304122866..05cdec06ccf63cde26f047a4ee1d7f4696714435 100644 --- a/lustre/utils/wirecheck.c +++ b/lustre/utils/wirecheck.c @@ -1069,14 +1069,14 @@ static void check_ll_user_fiemap(void) { BLANK_LINE(); - CHECK_STRUCT_TYPEDEF(ll_user_fiemap); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_start); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_length); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_flags); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_mapped_extents); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_extent_count); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_reserved); - CHECK_MEMBER_TYPEDEF(ll_user_fiemap, fm_extents); + CHECK_STRUCT(ll_user_fiemap); + CHECK_MEMBER(ll_user_fiemap, fm_start); + CHECK_MEMBER(ll_user_fiemap, fm_length); + CHECK_MEMBER(ll_user_fiemap, fm_flags); + CHECK_MEMBER(ll_user_fiemap, fm_mapped_extents); + CHECK_MEMBER(ll_user_fiemap, fm_extent_count); + CHECK_MEMBER(ll_user_fiemap, fm_reserved); + CHECK_MEMBER(ll_user_fiemap, fm_extents); CHECK_CDEFINE(FIEMAP_FLAG_SYNC); CHECK_CDEFINE(FIEMAP_FLAG_XATTR); @@ -1087,12 +1087,12 @@ static void check_ll_fiemap_extent(void) { BLANK_LINE(); - CHECK_STRUCT_TYPEDEF(ll_fiemap_extent); - CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_logical); - CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_physical); - CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_length); - CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_flags); - CHECK_MEMBER_TYPEDEF(ll_fiemap_extent, fe_device); + CHECK_STRUCT(ll_fiemap_extent); + CHECK_MEMBER(ll_fiemap_extent, fe_logical); + CHECK_MEMBER(ll_fiemap_extent, fe_physical); + CHECK_MEMBER(ll_fiemap_extent, fe_length); + CHECK_MEMBER(ll_fiemap_extent, fe_flags); + CHECK_MEMBER(ll_fiemap_extent, fe_device); CHECK_CDEFINE(FIEMAP_EXTENT_LAST); CHECK_CDEFINE(FIEMAP_EXTENT_UNKNOWN); @@ -1355,14 +1355,14 @@ main(int argc, char **argv) check_qunit_data_old(); check_mgs_target_info(); check_lustre_disk_data(); + check_ll_user_fiemap(); + check_ll_fiemap_extent(); printf("#ifdef LIBLUSTRE_POSIX_ACL\n"); #ifndef LIBLUSTRE_POSIX_ACL #error build generator without LIBLUSTRE_POSIX_ACL defined - produce wrong check code. #endif check_posix_acl_xattr_entry(); check_posix_acl_xattr_header(); - check_ll_user_fiemap(); - check_ll_fiemap_extent(); printf("#endif\n"); diff --git a/lustre/utils/wiretest.c b/lustre/utils/wiretest.c index ca043298d9b9cffec787a7908bd643566fdfe9ec..4c646745f8d43c315e25d091231fc27f6ff4df13 100644 --- a/lustre/utils/wiretest.c +++ b/lustre/utils/wiretest.c @@ -380,22 +380,14 @@ void lustre_assert_wire_constants(void) (long long)(int)offsetof(struct ptlrpc_body, pb_service_time)); LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_service_time) == 4, " found %lld\n", (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_service_time)); - LASSERTF((int)offsetof(struct ptlrpc_body, pb_limit) == 76, " found %lld\n", - (long long)(int)offsetof(struct ptlrpc_body, pb_limit)); - LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_limit) == 4, " found %lld\n", - (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_limit)); LASSERTF((int)offsetof(struct ptlrpc_body, pb_slv) == 80, " found %lld\n", (long long)(int)offsetof(struct ptlrpc_body, pb_slv)); LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_slv) == 8, " found %lld\n", (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_slv)); - LASSERTF((int)offsetof(struct ptlrpc_body, pb_pre_versions) == 88, " found %lld\n", - (long long)(int)offsetof(struct ptlrpc_body, pb_pre_versions)); - LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_pre_versions) == 32, " found %lld\n", - (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_pre_versions)); - LASSERTF((int)offsetof(struct ptlrpc_body, pb_padding) == 120, " found %lld\n", - (long long)(int)offsetof(struct ptlrpc_body, pb_padding)); - LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_padding) == 32, " found %lld\n", - (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_padding)); + LASSERTF((int)offsetof(struct ptlrpc_body, pb_limit) == 76, " found %lld\n", + (long long)(int)offsetof(struct ptlrpc_body, pb_limit)); + LASSERTF((int)sizeof(((struct ptlrpc_body *)0)->pb_limit) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ptlrpc_body *)0)->pb_limit)); /* Checks for struct obd_connect_data */ LASSERTF((int)sizeof(struct obd_connect_data) == 72, " found %lld\n", @@ -2156,6 +2148,78 @@ void lustre_assert_wire_constants(void) (long long)(int)offsetof(struct lustre_disk_data, ldd_params)); LASSERTF((int)sizeof(((struct lustre_disk_data *)0)->ldd_params) == 4096, " found %lld\n", (long long)(int)sizeof(((struct lustre_disk_data *)0)->ldd_params)); + + /* Checks for struct ll_user_fiemap */ + LASSERTF((int)sizeof(struct ll_user_fiemap) == 32, " found %lld\n", + (long long)(int)sizeof(struct ll_user_fiemap)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_start) == 0, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_start)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_start) == 8, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_start)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_length) == 8, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_length)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_length) == 8, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_length)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_flags) == 16, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_flags)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_flags) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_flags)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_mapped_extents) == 20, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_mapped_extents)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_mapped_extents) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_mapped_extents)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_extent_count) == 24, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_extent_count)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_extent_count) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_extent_count)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_reserved) == 28, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_reserved)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_reserved) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_reserved)); + LASSERTF((int)offsetof(struct ll_user_fiemap, fm_extents) == 32, " found %lld\n", + (long long)(int)offsetof(struct ll_user_fiemap, fm_extents)); + LASSERTF((int)sizeof(((struct ll_user_fiemap *)0)->fm_extents) == 0, " found %lld\n", + (long long)(int)sizeof(((struct ll_user_fiemap *)0)->fm_extents)); + CLASSERT(FIEMAP_FLAG_SYNC == 0x00000001); + CLASSERT(FIEMAP_FLAG_XATTR == 0x00000002); + CLASSERT(FIEMAP_FLAG_DEVICE_ORDER == 0x40000000); + + /* Checks for struct ll_fiemap_extent */ + LASSERTF((int)sizeof(struct ll_fiemap_extent) == 32, " found %lld\n", + (long long)(int)sizeof(struct ll_fiemap_extent)); + LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_logical) == 0, " found %lld\n", + (long long)(int)offsetof(struct ll_fiemap_extent, fe_logical)); + LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_logical) == 8, " found %lld\n", + (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_logical)); + LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_physical) == 8, " found %lld\n", + (long long)(int)offsetof(struct ll_fiemap_extent, fe_physical)); + LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_physical) == 8, " found %lld\n", + (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_physical)); + LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_length) == 16, " found %lld\n", + (long long)(int)offsetof(struct ll_fiemap_extent, fe_length)); + LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_length) == 8, " found %lld\n", + (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_length)); + LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_flags) == 24, " found %lld\n", + (long long)(int)offsetof(struct ll_fiemap_extent, fe_flags)); + LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_flags) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_flags)); + LASSERTF((int)offsetof(struct ll_fiemap_extent, fe_device) == 28, " found %lld\n", + (long long)(int)offsetof(struct ll_fiemap_extent, fe_device)); + LASSERTF((int)sizeof(((struct ll_fiemap_extent *)0)->fe_device) == 4, " found %lld\n", + (long long)(int)sizeof(((struct ll_fiemap_extent *)0)->fe_device)); + CLASSERT(FIEMAP_EXTENT_LAST == 0x00000001); + CLASSERT(FIEMAP_EXTENT_UNKNOWN == 0x00000002); + CLASSERT(FIEMAP_EXTENT_DELALLOC == 0x00000004); + CLASSERT(FIEMAP_EXTENT_NO_DIRECT == 0x00000008); + CLASSERT(FIEMAP_EXTENT_SECONDARY == 0x00000010); + CLASSERT(FIEMAP_EXTENT_NET == 0x00000020); + CLASSERT(FIEMAP_EXTENT_DATA_COMPRESSED == 0x00000040); + CLASSERT(FIEMAP_EXTENT_DATA_ENCRYPTED == 0x00000080); + CLASSERT(FIEMAP_EXTENT_NOT_ALIGNED == 0x00000100); + CLASSERT(FIEMAP_EXTENT_DATA_INLINE == 0x00000200); + CLASSERT(FIEMAP_EXTENT_DATA_TAIL == 0x00000400); + CLASSERT(FIEMAP_EXTENT_UNWRITTEN == 0x00000800); + CLASSERT(FIEMAP_EXTENT_MERGED == 0x00001000); #ifdef LIBLUSTRE_POSIX_ACL /* Checks for type posix_acl_xattr_entry */ @@ -2187,3 +2251,4 @@ void lustre_assert_wire_constants(void) (long long)(int)sizeof(((xattr_acl_header *)0)->a_entries)); #endif } +