mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
xfs/122: update against xfsprogs 4.3
Make the xfsprogs sb layout and structure size checker work with
modern xfsprogs (i.e. 4.3+ and all the new v5 stuff). The old test
wasn't picking up structures because they're no longer defined in the
"typedef struct xfs_foo { } xfs_foo_t;" style.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
committed by
Dave Chinner
parent
a3d855e424
commit
c0cfa5651f
+23
-6
@@ -74,10 +74,22 @@ progout=$tmp.output
|
||||
|
||||
cat >$cprog <<EOF
|
||||
#include <stdio.h>
|
||||
#include <xfs/libxlog.h>
|
||||
EOF
|
||||
for hdr in /usr/include/xfs/xfs*.h; do
|
||||
echo "#include <$(echo "$hdr" | sed -e 's|/usr/include/||g')>" >> $cprog
|
||||
done
|
||||
|
||||
# missing:
|
||||
# xfs_attr_shortform_t
|
||||
# xfs_trans_header_t
|
||||
|
||||
cat >$tmp.ignore <<EOF
|
||||
xfs_buf_log_format_t
|
||||
xfs_attr3_icleaf_hdr
|
||||
xfs_da3_icnode_hdr
|
||||
xfs_dir3_icfree_hdr
|
||||
xfs_dir3_icleaf_hdr
|
||||
xfs_name
|
||||
xfs_alloctype_t
|
||||
xfs_buf_cancel_t
|
||||
xfs_bmbt_rec_32_t
|
||||
@@ -177,11 +189,16 @@ echo 'int main(int argc, char *argv[]) {' >>$cprog
|
||||
#
|
||||
cat /usr/include/xfs/xfs*.h | indent |\
|
||||
_attribute_filter |\
|
||||
tee $seqres.full |\
|
||||
egrep '} *xfs_.*_t' |\
|
||||
egrep '(} *xfs_.*_t|^struct xfs_[a-z0-9_]*$)' > /tmp/barf
|
||||
|
||||
cat /usr/include/xfs/xfs*.h | indent |\
|
||||
_attribute_filter |\
|
||||
egrep '(} *xfs_.*_t|^struct xfs_[a-z0-9_]*$)' |\
|
||||
egrep -v -f $tmp.ignore |\
|
||||
awk '{sub(/[;,]/,"",$2); print "printf(\"sizeof(", $2, ") = %d\\n\", sizeof(", $2, "));"}' \
|
||||
>>$cprog
|
||||
sed -e 's/^.*}[[:space:]]*//g' -e 's/;.*$//g' -e 's/_t, /_t\n/g' |\
|
||||
sort | uniq |\
|
||||
awk '{printf("printf(\"sizeof(%s) = \\%zu\\n\", sizeof(%s));\n", $0, $0);}' |\
|
||||
cat >> $cprog
|
||||
|
||||
#
|
||||
# Look at offsets of key ones which differ in lengths
|
||||
@@ -192,7 +209,7 @@ cat /usr/include/xfs/xfs*.h | indent |\
|
||||
awk '
|
||||
/typedef struct xfs_sb/ { structon = 1; next }
|
||||
structon && $2 ~ /^sb_/ { sub(/[;,]/,"",$2)
|
||||
print "printf(\"offsetof(xfs_sb_t,", $2, ") = %d\\n\", offsetof(xfs_sb_t,", $2, "));"; next}
|
||||
printf("printf(\"offsetof(xfs_sb_t, %s) = \\%zu\\n\", offsetof(xfs_sb_t, %s));", $2, $2); next}
|
||||
structon && /}/ { structon = 0; next}
|
||||
'>>$cprog
|
||||
|
||||
|
||||
+143
-122
@@ -1,123 +1,144 @@
|
||||
QA output created by 122
|
||||
offsetof(xfs_sb_t, sb_agblklog ) = 124
|
||||
offsetof(xfs_sb_t, sb_agblocks ) = 84
|
||||
offsetof(xfs_sb_t, sb_agcount ) = 88
|
||||
offsetof(xfs_sb_t, sb_bad_features2 ) = 204
|
||||
offsetof(xfs_sb_t, sb_blocklog ) = 120
|
||||
offsetof(xfs_sb_t, sb_blocksize ) = 4
|
||||
offsetof(xfs_sb_t, sb_dblocks ) = 8
|
||||
offsetof(xfs_sb_t, sb_dirblklog ) = 192
|
||||
offsetof(xfs_sb_t, sb_fdblocks ) = 144
|
||||
offsetof(xfs_sb_t, sb_features2 ) = 200
|
||||
offsetof(xfs_sb_t, sb_flags ) = 178
|
||||
offsetof(xfs_sb_t, sb_fname[12] ) = 120
|
||||
offsetof(xfs_sb_t, sb_frextents ) = 152
|
||||
offsetof(xfs_sb_t, sb_gquotino ) = 168
|
||||
offsetof(xfs_sb_t, sb_icount ) = 128
|
||||
offsetof(xfs_sb_t, sb_ifree ) = 136
|
||||
offsetof(xfs_sb_t, sb_imax_pct ) = 127
|
||||
offsetof(xfs_sb_t, sb_inoalignmt ) = 180
|
||||
offsetof(xfs_sb_t, sb_inodelog ) = 122
|
||||
offsetof(xfs_sb_t, sb_inodesize ) = 104
|
||||
offsetof(xfs_sb_t, sb_inopblock ) = 106
|
||||
offsetof(xfs_sb_t, sb_inopblog ) = 123
|
||||
offsetof(xfs_sb_t, sb_inprogress ) = 126
|
||||
offsetof(xfs_sb_t, sb_logblocks ) = 96
|
||||
offsetof(xfs_sb_t, sb_logsectlog ) = 193
|
||||
offsetof(xfs_sb_t, sb_logsectsize ) = 194
|
||||
offsetof(xfs_sb_t, sb_logstart ) = 48
|
||||
offsetof(xfs_sb_t, sb_logsunit ) = 196
|
||||
offsetof(xfs_sb_t, sb_magicnum ) = 0
|
||||
offsetof(xfs_sb_t, sb_qflags ) = 176
|
||||
offsetof(xfs_sb_t, sb_rblocks ) = 16
|
||||
offsetof(xfs_sb_t, sb_rbmblocks ) = 92
|
||||
offsetof(xfs_sb_t, sb_rbmino ) = 64
|
||||
offsetof(xfs_sb_t, sb_rextents ) = 24
|
||||
offsetof(xfs_sb_t, sb_rextsize ) = 80
|
||||
offsetof(xfs_sb_t, sb_rextslog ) = 125
|
||||
offsetof(xfs_sb_t, sb_rootino ) = 56
|
||||
offsetof(xfs_sb_t, sb_rsumino ) = 72
|
||||
offsetof(xfs_sb_t, sb_sectlog ) = 121
|
||||
offsetof(xfs_sb_t, sb_sectsize ) = 102
|
||||
offsetof(xfs_sb_t, sb_shared_vn ) = 179
|
||||
offsetof(xfs_sb_t, sb_unit ) = 184
|
||||
offsetof(xfs_sb_t, sb_uquotino ) = 160
|
||||
offsetof(xfs_sb_t, sb_uuid ) = 32
|
||||
offsetof(xfs_sb_t, sb_versionnum ) = 100
|
||||
offsetof(xfs_sb_t, sb_width ) = 188
|
||||
sizeof( xfs_agf_t ) = <SIZE>
|
||||
sizeof( xfs_agfl_t ) = 4
|
||||
sizeof( xfs_agi_t ) = 296
|
||||
sizeof( xfs_alloc_rec_incore_t ) = 8
|
||||
sizeof( xfs_alloc_rec_t ) = 8
|
||||
sizeof( xfs_attr_inactive_list_t ) = 8
|
||||
sizeof( xfs_attr_leaf_entry_t ) = 8
|
||||
sizeof( xfs_attr_leaf_hdr_t ) = 32
|
||||
sizeof( xfs_attr_leaf_map_t ) = 4
|
||||
sizeof( xfs_attr_leaf_name_local_t ) = 4
|
||||
sizeof( xfs_attr_leaf_name_remote_t ) = 12
|
||||
sizeof( xfs_attr_leafblock_t ) = 56
|
||||
sizeof( xfs_attr_shortform_t ) = 8
|
||||
sizeof( xfs_attrlist_cursor_t ) = 16
|
||||
sizeof( xfs_bmbt_key_t ) = 8
|
||||
sizeof( xfs_bmbt_rec_t ) = 16
|
||||
sizeof( xfs_bmdr_block_t ) = 4
|
||||
sizeof( xfs_btnum_t ) = 4
|
||||
sizeof( xfs_buf_log_format_t ) = 24
|
||||
sizeof( xfs_da_blkinfo_t ) = 12
|
||||
sizeof( xfs_da_intnode_t ) = 24
|
||||
sizeof( xfs_dinode_fmt_t ) = 4
|
||||
sizeof( xfs_dir2_data_free_t ) = 4
|
||||
sizeof( xfs_dir2_data_hdr_t ) = 16
|
||||
sizeof( xfs_dir2_data_unused_t ) = 6
|
||||
sizeof( xfs_dir2_free_hdr_t ) = 16
|
||||
sizeof( xfs_dir2_free_t ) = 20
|
||||
sizeof( xfs_dir2_ino4_t ) = 4
|
||||
sizeof( xfs_dir2_ino8_t ) = 8
|
||||
sizeof( xfs_dir2_inou_t ) = 8
|
||||
sizeof( xfs_dir2_leaf_entry_t ) = 8
|
||||
sizeof( xfs_dir2_leaf_hdr_t ) = 16
|
||||
sizeof( xfs_dir2_leaf_t ) = 32
|
||||
sizeof( xfs_dir2_leaf_tail_t ) = 4
|
||||
sizeof( xfs_dir2_sf_entry_t ) = 12
|
||||
sizeof( xfs_dir2_sf_hdr_t ) = 10
|
||||
sizeof( xfs_dir2_sf_off_t ) = 2
|
||||
sizeof( xfs_dir2_sf_t ) = 22
|
||||
sizeof( xfs_dir_leaf_entry_t ) = 8
|
||||
sizeof( xfs_dir_leaf_hdr_t ) = 32
|
||||
sizeof( xfs_dir_leaf_map_t ) = 4
|
||||
sizeof( xfs_dir_leaf_name_t ) = 9
|
||||
sizeof( xfs_dir_leafblock_t ) = 52
|
||||
sizeof( xfs_dir_sf_entry_t ) = 10
|
||||
sizeof( xfs_dir_sf_hdr_t ) = 9
|
||||
sizeof( xfs_dir_shortform_t ) = 19
|
||||
sizeof( xfs_disk_dquot_t ) = 104
|
||||
sizeof( xfs_dq_logformat_t ) = 24
|
||||
sizeof( xfs_dqblk_t ) = 136
|
||||
sizeof( xfs_dsb_t ) = 208
|
||||
sizeof( xfs_efd_log_format_32_t ) = 28
|
||||
sizeof( xfs_efd_log_format_64_t ) = 32
|
||||
sizeof( xfs_efi_log_format_32_t ) = 28
|
||||
sizeof( xfs_efi_log_format_64_t ) = 32
|
||||
sizeof( xfs_error_injection_t ) = 8
|
||||
sizeof( xfs_exntfmt_t ) = 4
|
||||
sizeof( xfs_exntst_t ) = 4
|
||||
sizeof( xfs_extent_32_t ) = 12
|
||||
sizeof( xfs_extent_64_t ) = 16
|
||||
sizeof( xfs_fid_t ) = 16
|
||||
sizeof( xfs_fsid_t ) = 8
|
||||
sizeof( xfs_fsop_counts_t ) = 32
|
||||
sizeof( xfs_fsop_geom_t ) = 112
|
||||
sizeof( xfs_fsop_resblks_t ) = 16
|
||||
sizeof( xfs_growfs_log_t ) = 8
|
||||
sizeof( xfs_handle_t ) = 24
|
||||
sizeof( xfs_inobt_key_t ) = 4
|
||||
sizeof( xfs_inobt_rec_t ) = 16
|
||||
sizeof( xfs_inode_log_format_32_t ) = 52
|
||||
sizeof( xfs_inode_log_format_64_t ) = 56
|
||||
sizeof( xfs_lookup_t ) = 4
|
||||
sizeof( xfs_qoff_logformat_t ) = 20
|
||||
sizeof( xfs_sb_field_t ) = 4
|
||||
sizeof( xfs_timestamp_t ) = 8
|
||||
sizeof( xfs_trans_header_t ) = 16
|
||||
sizeof( xfs_trans_reservations_t ) = 84
|
||||
offsetof(xfs_sb_t, sb_agblklog) = 124
|
||||
offsetof(xfs_sb_t, sb_agblocks) = 84
|
||||
offsetof(xfs_sb_t, sb_agcount) = 88
|
||||
offsetof(xfs_sb_t, sb_bad_features2) = 204
|
||||
offsetof(xfs_sb_t, sb_blocklog) = 120
|
||||
offsetof(xfs_sb_t, sb_blocksize) = 4
|
||||
offsetof(xfs_sb_t, sb_crc) = 224
|
||||
offsetof(xfs_sb_t, sb_dblocks) = 8
|
||||
offsetof(xfs_sb_t, sb_dirblklog) = 192
|
||||
offsetof(xfs_sb_t, sb_fdblocks) = 144
|
||||
offsetof(xfs_sb_t, sb_features2) = 200
|
||||
offsetof(xfs_sb_t, sb_features_compat) = 208
|
||||
offsetof(xfs_sb_t, sb_features_incompat) = 216
|
||||
offsetof(xfs_sb_t, sb_features_log_incompat) = 220
|
||||
offsetof(xfs_sb_t, sb_features_ro_compat) = 212
|
||||
offsetof(xfs_sb_t, sb_flags) = 178
|
||||
offsetof(xfs_sb_t, sb_fname[12]) = 120
|
||||
offsetof(xfs_sb_t, sb_frextents) = 152
|
||||
offsetof(xfs_sb_t, sb_gquotino) = 168
|
||||
offsetof(xfs_sb_t, sb_icount) = 128
|
||||
offsetof(xfs_sb_t, sb_ifree) = 136
|
||||
offsetof(xfs_sb_t, sb_imax_pct) = 127
|
||||
offsetof(xfs_sb_t, sb_inoalignmt) = 180
|
||||
offsetof(xfs_sb_t, sb_inodelog) = 122
|
||||
offsetof(xfs_sb_t, sb_inodesize) = 104
|
||||
offsetof(xfs_sb_t, sb_inopblock) = 106
|
||||
offsetof(xfs_sb_t, sb_inopblog) = 123
|
||||
offsetof(xfs_sb_t, sb_inprogress) = 126
|
||||
offsetof(xfs_sb_t, sb_logblocks) = 96
|
||||
offsetof(xfs_sb_t, sb_logsectlog) = 193
|
||||
offsetof(xfs_sb_t, sb_logsectsize) = 194
|
||||
offsetof(xfs_sb_t, sb_logstart) = 48
|
||||
offsetof(xfs_sb_t, sb_logsunit) = 196
|
||||
offsetof(xfs_sb_t, sb_lsn) = 240
|
||||
offsetof(xfs_sb_t, sb_magicnum) = 0
|
||||
offsetof(xfs_sb_t, sb_meta_uuid) = 248
|
||||
offsetof(xfs_sb_t, sb_pquotino) = 232
|
||||
offsetof(xfs_sb_t, sb_qflags) = 176
|
||||
offsetof(xfs_sb_t, sb_rblocks) = 16
|
||||
offsetof(xfs_sb_t, sb_rbmblocks) = 92
|
||||
offsetof(xfs_sb_t, sb_rbmino) = 64
|
||||
offsetof(xfs_sb_t, sb_rextents) = 24
|
||||
offsetof(xfs_sb_t, sb_rextsize) = 80
|
||||
offsetof(xfs_sb_t, sb_rextslog) = 125
|
||||
offsetof(xfs_sb_t, sb_rootino) = 56
|
||||
offsetof(xfs_sb_t, sb_rsumino) = 72
|
||||
offsetof(xfs_sb_t, sb_sectlog) = 121
|
||||
offsetof(xfs_sb_t, sb_sectsize) = 102
|
||||
offsetof(xfs_sb_t, sb_shared_vn) = 179
|
||||
offsetof(xfs_sb_t, sb_spino_align) = 228
|
||||
offsetof(xfs_sb_t, sb_unit) = 184
|
||||
offsetof(xfs_sb_t, sb_uquotino) = 160
|
||||
offsetof(xfs_sb_t, sb_uuid) = 32
|
||||
offsetof(xfs_sb_t, sb_versionnum) = 100
|
||||
offsetof(xfs_sb_t, sb_width) = 188
|
||||
sizeof(struct xfs_acl) = 4
|
||||
sizeof(struct xfs_acl_entry) = 12
|
||||
sizeof(struct xfs_attr3_leaf_hdr) = 80
|
||||
sizeof(struct xfs_attr3_leafblock) = 88
|
||||
sizeof(struct xfs_attr3_rmt_hdr) = 56
|
||||
sizeof(struct xfs_btree_block) = 72
|
||||
sizeof(struct xfs_clone_args) = 32
|
||||
sizeof(struct xfs_da3_blkinfo) = 56
|
||||
sizeof(struct xfs_da3_intnode) = 64
|
||||
sizeof(struct xfs_da3_node_hdr) = 64
|
||||
sizeof(struct xfs_dir3_blk_hdr) = 48
|
||||
sizeof(struct xfs_dir3_data_hdr) = 64
|
||||
sizeof(struct xfs_dir3_free) = 64
|
||||
sizeof(struct xfs_dir3_free_hdr) = 64
|
||||
sizeof(struct xfs_dir3_leaf) = 64
|
||||
sizeof(struct xfs_dir3_leaf_hdr) = 64
|
||||
sizeof(struct xfs_dsymlink_hdr) = 56
|
||||
sizeof(struct xfs_extent_data) = 24
|
||||
sizeof(struct xfs_extent_data_info) = 32
|
||||
sizeof(struct xfs_fs_eofblocks) = 128
|
||||
sizeof(struct xfs_icreate_log) = 28
|
||||
sizeof(xfs_agf_t) = 224
|
||||
sizeof(xfs_agfl_t) = 36
|
||||
sizeof(xfs_agi_t) = 336
|
||||
sizeof(xfs_alloc_key_t) = 8
|
||||
sizeof(xfs_alloc_rec_incore_t) = 8
|
||||
sizeof(xfs_alloc_rec_t) = 8
|
||||
sizeof(xfs_attr_leaf_entry_t) = 8
|
||||
sizeof(xfs_attr_leaf_hdr_t) = 32
|
||||
sizeof(xfs_attr_leaf_map_t) = 4
|
||||
sizeof(xfs_attr_leaf_name_local_t) = 4
|
||||
sizeof(xfs_attr_leaf_name_remote_t) = 12
|
||||
sizeof(xfs_attr_leafblock_t) = 40
|
||||
sizeof(xfs_attr_shortform_t) = 8
|
||||
sizeof(xfs_attrlist_cursor_t) = 16
|
||||
sizeof(xfs_bmbt_key_t) = 8
|
||||
sizeof(xfs_bmbt_rec_t) = 16
|
||||
sizeof(xfs_bmdr_block_t) = 4
|
||||
sizeof(xfs_bmdr_key_t) = 8
|
||||
sizeof(xfs_btnum_t) = 4
|
||||
sizeof(xfs_da_blkinfo_t) = 12
|
||||
sizeof(xfs_da_intnode_t) = 16
|
||||
sizeof(xfs_da_node_entry_t) = 8
|
||||
sizeof(xfs_da_node_hdr_t) = 16
|
||||
sizeof(xfs_dinode_fmt_t) = 4
|
||||
sizeof(xfs_dir2_data_free_t) = 4
|
||||
sizeof(xfs_dir2_data_hdr_t) = 16
|
||||
sizeof(xfs_dir2_data_unused_t) = 6
|
||||
sizeof(xfs_dir2_free_hdr_t) = 16
|
||||
sizeof(xfs_dir2_free_t) = 16
|
||||
sizeof(xfs_dir2_ino4_t) = 4
|
||||
sizeof(xfs_dir2_ino8_t) = 8
|
||||
sizeof(xfs_dir2_inou_t) = 8
|
||||
sizeof(xfs_dir2_leaf_entry_t) = 8
|
||||
sizeof(xfs_dir2_leaf_hdr_t) = 16
|
||||
sizeof(xfs_dir2_leaf_t) = 16
|
||||
sizeof(xfs_dir2_leaf_tail_t) = 4
|
||||
sizeof(xfs_dir2_sf_entry_t) = 3
|
||||
sizeof(xfs_dir2_sf_hdr_t) = 10
|
||||
sizeof(xfs_dir2_sf_off_t) = 2
|
||||
sizeof(xfs_disk_dquot_t) = 104
|
||||
sizeof(xfs_dq_logformat_t) = 24
|
||||
sizeof(xfs_dqblk_t) = 136
|
||||
sizeof(xfs_dsb_t) = 264
|
||||
sizeof(xfs_efd_log_format_32_t) = 28
|
||||
sizeof(xfs_efd_log_format_64_t) = 32
|
||||
sizeof(xfs_efi_log_format_32_t) = 28
|
||||
sizeof(xfs_efi_log_format_64_t) = 32
|
||||
sizeof(xfs_error_injection_t) = 8
|
||||
sizeof(xfs_exntfmt_t) = 4
|
||||
sizeof(xfs_exntst_t) = 4
|
||||
sizeof(xfs_extent_32_t) = 12
|
||||
sizeof(xfs_extent_64_t) = 16
|
||||
sizeof(xfs_fid_t) = 16
|
||||
sizeof(xfs_fsid_t) = 8
|
||||
sizeof(xfs_fsop_counts_t) = 32
|
||||
sizeof(xfs_fsop_geom_t) = 112
|
||||
sizeof(xfs_fsop_resblks_t) = 16
|
||||
sizeof(xfs_growfs_log_t) = 8
|
||||
sizeof(xfs_handle_t) = 24
|
||||
sizeof(xfs_inobt_key_t) = 4
|
||||
sizeof(xfs_inobt_rec_t) = 16
|
||||
sizeof(xfs_inode_log_format_32_t) = 52
|
||||
sizeof(xfs_inode_log_format_64_t) = 56
|
||||
sizeof(xfs_lookup_t) = 4
|
||||
sizeof(xfs_qoff_logformat_t) = 20
|
||||
sizeof(xfs_timestamp_t) = 8
|
||||
sizeof(xfs_trans_header_t) = 16
|
||||
|
||||
Reference in New Issue
Block a user