From: kernel test robot <lkp@intel.com>
To: Wilfred Mallawa <wilfred.opensource@gmail.com>,
Carlos Maiolino <cem@kernel.org>,
"Darrick J . Wong" <djwong@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, linux-xfs@vger.kernel.org,
linux-kernel@vger.kernel.org, Christoph Hellwig <hch@lst.de>,
Wilfred Mallawa <wilfred.mallawa@wdc.com>
Subject: Re: [PATCH] xfs: add static size checks for structures in xfs_fs.h
Date: Sat, 7 Feb 2026 02:03:19 +0800 [thread overview]
Message-ID: <202602070136.oX0Sc8Su-lkp@intel.com> (raw)
In-Reply-To: <20260206030557.1201204-2-wilfred.opensource@gmail.com>
Hi Wilfred,
kernel test robot noticed the following build warnings:
[auto build test WARNING on xfs-linux/for-next]
[also build test WARNING on linus/master v6.19-rc8 next-20260205]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Wilfred-Mallawa/xfs-add-static-size-checks-for-structures-in-xfs_fs-h/20260206-111013
base: https://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git for-next
patch link: https://lore.kernel.org/r/20260206030557.1201204-2-wilfred.opensource%40gmail.com
patch subject: [PATCH] xfs: add static size checks for structures in xfs_fs.h
config: sparc-randconfig-r121-20260206 (https://download.01.org/0day-ci/archive/20260207/202602070136.oX0Sc8Su-lkp@intel.com/config)
compiler: sparc-linux-gcc (GCC) 11.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260207/202602070136.oX0Sc8Su-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602070136.oX0Sc8Su-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
fs/xfs/xfs_super.c: note: in included file:
>> fs/xfs/libxfs/xfs_ondisk.h:230:9: sparse: sparse: static assertion failed: "XFS: sizeof(struct xfs_flock64) is wrong, expected 48"
>> fs/xfs/libxfs/xfs_ondisk.h:231:9: sparse: sparse: static assertion failed: "XFS: sizeof(struct xfs_fsop_geom_v1) is wrong, expected 112"
>> fs/xfs/libxfs/xfs_ondisk.h:236:9: sparse: sparse: static assertion failed: "XFS: sizeof(xfs_growfs_data_t) is wrong, expected 16"
>> fs/xfs/libxfs/xfs_ondisk.h:238:9: sparse: sparse: static assertion failed: "XFS: sizeof(xfs_growfs_rt_t) is wrong, expected 16"
>> fs/xfs/libxfs/xfs_ondisk.h:239:9: sparse: sparse: static assertion failed: "XFS: sizeof(struct xfs_inogrp) is wrong, expected 24"
fs/xfs/xfs_super.c:2336:1: sparse: sparse: bad integer constant expression
fs/xfs/xfs_super.c:2336:1: sparse: sparse: static assertion failed: "MODULE_INFO(alias, ...) contains embedded NUL byte"
fs/xfs/xfs_super.c:2758:1: sparse: sparse: bad integer constant expression
fs/xfs/xfs_super.c:2758:1: sparse: sparse: static assertion failed: "MODULE_INFO(author, ...) contains embedded NUL byte"
fs/xfs/xfs_super.c:2759:1: sparse: sparse: bad integer constant expression
fs/xfs/xfs_super.c:2759:1: sparse: sparse: static assertion failed: "MODULE_INFO(description, ...) contains embedded NUL byte"
fs/xfs/xfs_super.c:2760:1: sparse: sparse: bad integer constant expression
fs/xfs/xfs_super.c:2760:1: sparse: sparse: static assertion failed: "MODULE_INFO(file, ...) contains embedded NUL byte"
fs/xfs/xfs_super.c:2760:1: sparse: sparse: bad integer constant expression
fs/xfs/xfs_super.c:2760:1: sparse: sparse: static assertion failed: "MODULE_INFO(license, ...) contains embedded NUL byte"
vim +230 fs/xfs/libxfs/xfs_ondisk.h
8
9 #define XFS_CHECK_STRUCT_SIZE(structname, size) \
10 static_assert(sizeof(structname) == (size), \
11 "XFS: sizeof(" #structname ") is wrong, expected " #size)
12
13 #define XFS_CHECK_OFFSET(structname, member, off) \
14 static_assert(offsetof(structname, member) == (off), \
15 "XFS: offsetof(" #structname ", " #member ") is wrong, " \
16 "expected " #off)
17
18 #define XFS_CHECK_VALUE(value, expected) \
19 static_assert((value) == (expected), \
20 "XFS: value of " #value " is wrong, expected " #expected)
21
22 #define XFS_CHECK_SB_OFFSET(field, offset) \
23 XFS_CHECK_OFFSET(struct xfs_dsb, field, offset); \
24 XFS_CHECK_OFFSET(struct xfs_sb, field, offset);
25
26 static inline void __init
27 xfs_check_ondisk_structs(void)
28 {
29 /* direct I/O */
30 XFS_CHECK_STRUCT_SIZE(struct dioattr, 12);
31
32 /* file structures */
33 XFS_CHECK_STRUCT_SIZE(struct xfs_acl, 4);
34 XFS_CHECK_STRUCT_SIZE(struct xfs_acl_entry, 12);
35 XFS_CHECK_STRUCT_SIZE(struct xfs_bmbt_key, 8);
36 XFS_CHECK_STRUCT_SIZE(struct xfs_bmbt_rec, 16);
37 XFS_CHECK_STRUCT_SIZE(struct xfs_bmdr_block, 4);
38 XFS_CHECK_STRUCT_SIZE(struct xfs_dinode, 176);
39 XFS_CHECK_STRUCT_SIZE(struct xfs_disk_dquot, 104);
40 XFS_CHECK_STRUCT_SIZE(struct xfs_dqblk, 136);
41 XFS_CHECK_STRUCT_SIZE(struct xfs_dsymlink_hdr, 56);
42 XFS_CHECK_STRUCT_SIZE(xfs_timestamp_t, 8);
43 XFS_CHECK_STRUCT_SIZE(struct xfs_legacy_timestamp, 8);
44
45 /* space btrees */
46 XFS_CHECK_STRUCT_SIZE(struct xfs_agf, 224);
47 XFS_CHECK_STRUCT_SIZE(struct xfs_agfl, 36);
48 XFS_CHECK_STRUCT_SIZE(struct xfs_agi, 344);
49 XFS_CHECK_STRUCT_SIZE(struct xfs_alloc_rec, 8);
50 XFS_CHECK_STRUCT_SIZE(struct xfs_btree_block, 72);
51 XFS_CHECK_STRUCT_SIZE(struct xfs_btree_block_lhdr, 64);
52 XFS_CHECK_STRUCT_SIZE(struct xfs_btree_block_shdr, 48);
53 XFS_CHECK_STRUCT_SIZE(struct xfs_inobt_key, 4);
54 XFS_CHECK_STRUCT_SIZE(struct xfs_inobt_rec, 16);
55 XFS_CHECK_STRUCT_SIZE(struct xfs_refcount_key, 4);
56 XFS_CHECK_STRUCT_SIZE(struct xfs_refcount_rec, 12);
57 XFS_CHECK_STRUCT_SIZE(struct xfs_rmap_key, 20);
58 XFS_CHECK_STRUCT_SIZE(struct xfs_rmap_rec, 24);
59 XFS_CHECK_STRUCT_SIZE(xfs_alloc_key_t, 8);
60 XFS_CHECK_STRUCT_SIZE(xfs_alloc_ptr_t, 4);
61 XFS_CHECK_STRUCT_SIZE(xfs_inobt_ptr_t, 4);
62 XFS_CHECK_STRUCT_SIZE(xfs_refcount_ptr_t, 4);
63 XFS_CHECK_STRUCT_SIZE(xfs_rmap_ptr_t, 4);
64 XFS_CHECK_STRUCT_SIZE(xfs_bmdr_key_t, 8);
65 XFS_CHECK_STRUCT_SIZE(struct getbmap, 32);
66 XFS_CHECK_STRUCT_SIZE(struct getbmapx, 48);
67
68 /* dir/attr trees */
69 XFS_CHECK_STRUCT_SIZE(struct xfs_attr3_leaf_hdr, 80);
70 XFS_CHECK_STRUCT_SIZE(struct xfs_attr3_leafblock, 80);
71 XFS_CHECK_STRUCT_SIZE(struct xfs_attr3_rmt_hdr, 56);
72 XFS_CHECK_STRUCT_SIZE(struct xfs_da3_blkinfo, 56);
73 XFS_CHECK_STRUCT_SIZE(struct xfs_da3_intnode, 64);
74 XFS_CHECK_STRUCT_SIZE(struct xfs_da3_node_hdr, 64);
75 XFS_CHECK_STRUCT_SIZE(struct xfs_dir3_blk_hdr, 48);
76 XFS_CHECK_STRUCT_SIZE(struct xfs_dir3_data_hdr, 64);
77 XFS_CHECK_STRUCT_SIZE(struct xfs_dir3_free, 64);
78 XFS_CHECK_STRUCT_SIZE(struct xfs_dir3_free_hdr, 64);
79 XFS_CHECK_STRUCT_SIZE(struct xfs_dir3_leaf, 64);
80 XFS_CHECK_STRUCT_SIZE(struct xfs_dir3_leaf_hdr, 64);
81 XFS_CHECK_STRUCT_SIZE(struct xfs_attr_leaf_entry, 8);
82 XFS_CHECK_STRUCT_SIZE(struct xfs_attr_leaf_hdr, 32);
83 XFS_CHECK_STRUCT_SIZE(struct xfs_attr_leaf_map, 4);
84 XFS_CHECK_STRUCT_SIZE(struct xfs_attr_leaf_name_local, 4);
85 XFS_CHECK_STRUCT_SIZE(xfs_attrlist_cursor_t, 16);
86 XFS_CHECK_STRUCT_SIZE(struct xfs_attrlist, 8);
87 XFS_CHECK_STRUCT_SIZE(struct xfs_attrlist_ent, 4);
88
89 /* allocation groups */
90 XFS_CHECK_STRUCT_SIZE(struct xfs_ag_geometry, 128);
91
92 /* realtime structures */
93 XFS_CHECK_STRUCT_SIZE(struct xfs_rtsb, 56);
94 XFS_CHECK_STRUCT_SIZE(union xfs_rtword_raw, 4);
95 XFS_CHECK_STRUCT_SIZE(union xfs_suminfo_raw, 4);
96 XFS_CHECK_STRUCT_SIZE(struct xfs_rtbuf_blkinfo, 48);
97 XFS_CHECK_STRUCT_SIZE(xfs_rtrmap_ptr_t, 8);
98 XFS_CHECK_STRUCT_SIZE(struct xfs_rtrmap_root, 4);
99 XFS_CHECK_STRUCT_SIZE(xfs_rtrefcount_ptr_t, 8);
100 XFS_CHECK_STRUCT_SIZE(struct xfs_rtrefcount_root, 4);
101 XFS_CHECK_STRUCT_SIZE(struct xfs_rtgroup_geometry, 128);
102
103 /*
104 * m68k has problems with struct xfs_attr_leaf_name_remote, but we pad
105 * it to 4 bytes anyway so it's not obviously a problem. Hence for the
106 * moment we don't check this structure. This can be re-instated when
107 * the attr definitions are updated to use c99 VLA definitions.
108 *
109 XFS_CHECK_STRUCT_SIZE(struct xfs_attr_leaf_name_remote, 12);
110 */
111
112 XFS_CHECK_OFFSET(struct xfs_attr_leaf_name_local, valuelen, 0);
113 XFS_CHECK_OFFSET(struct xfs_attr_leaf_name_local, namelen, 2);
114 XFS_CHECK_OFFSET(struct xfs_attr_leaf_name_local, nameval, 3);
115 XFS_CHECK_OFFSET(struct xfs_attr_leaf_name_remote, valueblk, 0);
116 XFS_CHECK_OFFSET(struct xfs_attr_leaf_name_remote, valuelen, 4);
117 XFS_CHECK_OFFSET(struct xfs_attr_leaf_name_remote, namelen, 8);
118 XFS_CHECK_OFFSET(struct xfs_attr_leaf_name_remote, name, 9);
119 XFS_CHECK_STRUCT_SIZE(struct xfs_attr_leafblock, 32);
120 XFS_CHECK_STRUCT_SIZE(struct xfs_attr_sf_hdr, 4);
121 XFS_CHECK_OFFSET(struct xfs_attr_sf_hdr, totsize, 0);
122 XFS_CHECK_OFFSET(struct xfs_attr_sf_hdr, count, 2);
123 XFS_CHECK_OFFSET(struct xfs_attr_sf_entry, namelen, 0);
124 XFS_CHECK_OFFSET(struct xfs_attr_sf_entry, valuelen, 1);
125 XFS_CHECK_OFFSET(struct xfs_attr_sf_entry, flags, 2);
126 XFS_CHECK_OFFSET(struct xfs_attr_sf_entry, nameval, 3);
127 XFS_CHECK_STRUCT_SIZE(struct xfs_da_blkinfo, 12);
128 XFS_CHECK_STRUCT_SIZE(struct xfs_da_intnode, 16);
129 XFS_CHECK_STRUCT_SIZE(struct xfs_da_node_entry, 8);
130 XFS_CHECK_STRUCT_SIZE(struct xfs_da_node_hdr, 16);
131 XFS_CHECK_STRUCT_SIZE(struct xfs_dir2_data_free, 4);
132 XFS_CHECK_OFFSET(struct xfs_dir2_data_unused, freetag, 0);
133 XFS_CHECK_OFFSET(struct xfs_dir2_data_unused, length, 2);
134 XFS_CHECK_OFFSET(struct xfs_dir2_sf_entry, namelen, 0);
135 XFS_CHECK_OFFSET(struct xfs_dir2_sf_entry, offset, 1);
136 XFS_CHECK_OFFSET(struct xfs_dir2_sf_entry, name, 3);
137 XFS_CHECK_STRUCT_SIZE(struct xfs_parent_rec, 12);
138
139 /* ondisk dir/attr structures from xfs/122 */
140 XFS_CHECK_STRUCT_SIZE(struct xfs_attr_sf_entry, 3);
141 XFS_CHECK_STRUCT_SIZE(struct xfs_dir2_data_free, 4);
142 XFS_CHECK_STRUCT_SIZE(struct xfs_dir2_data_hdr, 16);
143 XFS_CHECK_STRUCT_SIZE(struct xfs_dir2_data_unused, 6);
144 XFS_CHECK_STRUCT_SIZE(struct xfs_dir2_free, 16);
145 XFS_CHECK_STRUCT_SIZE(struct xfs_dir2_free_hdr, 16);
146 XFS_CHECK_STRUCT_SIZE(struct xfs_dir2_leaf, 16);
147 XFS_CHECK_STRUCT_SIZE(struct xfs_dir2_leaf_entry, 8);
148 XFS_CHECK_STRUCT_SIZE(struct xfs_dir2_leaf_hdr, 16);
149 XFS_CHECK_STRUCT_SIZE(struct xfs_dir2_leaf_tail, 4);
150 XFS_CHECK_STRUCT_SIZE(struct xfs_dir2_sf_entry, 3);
151 XFS_CHECK_STRUCT_SIZE(struct xfs_dir2_sf_hdr, 10);
152
153 /* log structures */
154 XFS_CHECK_STRUCT_SIZE(struct xfs_buf_log_format, 88);
155 XFS_CHECK_STRUCT_SIZE(struct xfs_dq_logformat, 24);
156 XFS_CHECK_STRUCT_SIZE(struct xfs_efd_log_format_32, 16);
157 XFS_CHECK_STRUCT_SIZE(struct xfs_efd_log_format_64, 16);
158 XFS_CHECK_STRUCT_SIZE(struct xfs_efi_log_format_32, 16);
159 XFS_CHECK_STRUCT_SIZE(struct xfs_efi_log_format_64, 16);
160 XFS_CHECK_STRUCT_SIZE(struct xfs_extent_32, 12);
161 XFS_CHECK_STRUCT_SIZE(struct xfs_extent_64, 16);
162 XFS_CHECK_STRUCT_SIZE(struct xfs_log_dinode, 176);
163 XFS_CHECK_STRUCT_SIZE(struct xfs_icreate_log, 28);
164 XFS_CHECK_STRUCT_SIZE(xfs_log_timestamp_t, 8);
165 XFS_CHECK_STRUCT_SIZE(struct xfs_log_legacy_timestamp, 8);
166 XFS_CHECK_STRUCT_SIZE(struct xfs_inode_log_format_32, 52);
167 XFS_CHECK_STRUCT_SIZE(struct xfs_inode_log_format, 56);
168 XFS_CHECK_STRUCT_SIZE(struct xfs_qoff_logformat, 20);
169 XFS_CHECK_STRUCT_SIZE(struct xfs_trans_header, 16);
170 XFS_CHECK_STRUCT_SIZE(struct xfs_attri_log_format, 40);
171 XFS_CHECK_STRUCT_SIZE(struct xfs_attrd_log_format, 16);
172 XFS_CHECK_STRUCT_SIZE(struct xfs_bui_log_format, 16);
173 XFS_CHECK_STRUCT_SIZE(struct xfs_bud_log_format, 16);
174 XFS_CHECK_STRUCT_SIZE(struct xfs_cui_log_format, 16);
175 XFS_CHECK_STRUCT_SIZE(struct xfs_cud_log_format, 16);
176 XFS_CHECK_STRUCT_SIZE(struct xfs_rui_log_format, 16);
177 XFS_CHECK_STRUCT_SIZE(struct xfs_rud_log_format, 16);
178 XFS_CHECK_STRUCT_SIZE(struct xfs_map_extent, 32);
179 XFS_CHECK_STRUCT_SIZE(struct xfs_phys_extent, 16);
180 XFS_CHECK_STRUCT_SIZE(struct xlog_rec_header, 512);
181 XFS_CHECK_STRUCT_SIZE(struct xlog_rec_ext_header, 512);
182
183 XFS_CHECK_OFFSET(struct xlog_rec_header, h_reserved, 328);
184 XFS_CHECK_OFFSET(struct xlog_rec_ext_header, xh_reserved, 260);
185 XFS_CHECK_OFFSET(struct xfs_bui_log_format, bui_extents, 16);
186 XFS_CHECK_OFFSET(struct xfs_cui_log_format, cui_extents, 16);
187 XFS_CHECK_OFFSET(struct xfs_rui_log_format, rui_extents, 16);
188 XFS_CHECK_OFFSET(struct xfs_efi_log_format, efi_extents, 16);
189 XFS_CHECK_OFFSET(struct xfs_efi_log_format_32, efi_extents, 16);
190 XFS_CHECK_OFFSET(struct xfs_efi_log_format_64, efi_extents, 16);
191
192 /* ondisk log structures from xfs/122 */
193 XFS_CHECK_STRUCT_SIZE(struct xfs_unmount_log_format, 8);
194 XFS_CHECK_STRUCT_SIZE(struct xfs_xmd_log_format, 16);
195 XFS_CHECK_STRUCT_SIZE(struct xfs_xmi_log_format, 88);
196
197 /* parent pointer ioctls */
198 XFS_CHECK_STRUCT_SIZE(struct xfs_getparents_rec, 32);
199 XFS_CHECK_STRUCT_SIZE(struct xfs_getparents, 40);
200 XFS_CHECK_STRUCT_SIZE(struct xfs_getparents_by_handle, 64);
201
202 /* error injection */
203 XFS_CHECK_STRUCT_SIZE(struct xfs_error_injection, 8);
204
205 /*
206 * The v5 superblock format extended several v4 header structures with
207 * additional data. While new fields are only accessible on v5
208 * superblocks, it's important that the v5 structures place original v4
209 * fields/headers in the correct location on-disk. For example, we must
210 * be able to find magic values at the same location in certain blocks
211 * regardless of superblock version.
212 *
213 * The following checks ensure that various v5 data structures place the
214 * subset of v4 metadata associated with the same type of block at the
215 * start of the on-disk block. If there is no data structure definition
216 * for certain types of v4 blocks, traverse down to the first field of
217 * common metadata (e.g., magic value) and make sure it is at offset
218 * zero.
219 */
220 XFS_CHECK_OFFSET(struct xfs_dir3_leaf, hdr.info.hdr, 0);
221 XFS_CHECK_OFFSET(struct xfs_da3_intnode, hdr.info.hdr, 0);
222 XFS_CHECK_OFFSET(struct xfs_dir3_data_hdr, hdr.magic, 0);
223 XFS_CHECK_OFFSET(struct xfs_dir3_free, hdr.hdr.magic, 0);
224 XFS_CHECK_OFFSET(struct xfs_attr3_leafblock, hdr.info.hdr, 0);
225
226 XFS_CHECK_STRUCT_SIZE(struct xfs_bulkstat, 192);
227 XFS_CHECK_STRUCT_SIZE(struct xfs_inumbers, 24);
228 XFS_CHECK_STRUCT_SIZE(struct xfs_bulkstat_req, 64);
229 XFS_CHECK_STRUCT_SIZE(struct xfs_inumbers_req, 64);
> 230 XFS_CHECK_STRUCT_SIZE(struct xfs_flock64, 48);
> 231 XFS_CHECK_STRUCT_SIZE(struct xfs_fsop_geom_v1, 112);
232 XFS_CHECK_STRUCT_SIZE(struct xfs_fsop_geom_v4, 112);
233 XFS_CHECK_STRUCT_SIZE(struct xfs_fsop_geom, 256);
234 XFS_CHECK_STRUCT_SIZE(xfs_fsop_counts_t, 32);
235 XFS_CHECK_STRUCT_SIZE(xfs_fsop_resblks_t, 16);
> 236 XFS_CHECK_STRUCT_SIZE(xfs_growfs_data_t, 16);
237 XFS_CHECK_STRUCT_SIZE(xfs_growfs_log_t, 8);
> 238 XFS_CHECK_STRUCT_SIZE(xfs_growfs_rt_t, 16);
> 239 XFS_CHECK_STRUCT_SIZE(struct xfs_inogrp, 24);
240 XFS_CHECK_STRUCT_SIZE(struct xfs_bulk_ireq, 64);
241 XFS_CHECK_STRUCT_SIZE(struct xfs_fs_eofblocks, 128);
242 XFS_CHECK_STRUCT_SIZE(xfs_fsid_t, 8);
243 XFS_CHECK_STRUCT_SIZE(xfs_fid_t, 16);
244 XFS_CHECK_STRUCT_SIZE(xfs_handle_t, 24);
245 XFS_CHECK_STRUCT_SIZE(struct xfs_exchange_range, 40);
246 XFS_CHECK_STRUCT_SIZE(struct xfs_commit_range, 88);
247
248 /* scrub */
249 XFS_CHECK_STRUCT_SIZE(struct xfs_scrub_metadata, 64);
250 XFS_CHECK_STRUCT_SIZE(struct xfs_scrub_vec, 16);
251 XFS_CHECK_STRUCT_SIZE(struct xfs_scrub_vec_head, 40);
252
253 /*
254 * Make sure the incore inode timestamp range corresponds to hand
255 * converted values based on the ondisk format specification.
256 */
257 XFS_CHECK_VALUE(XFS_BIGTIME_TIME_MIN - XFS_BIGTIME_EPOCH_OFFSET,
258 XFS_LEGACY_TIME_MIN);
259 XFS_CHECK_VALUE(XFS_BIGTIME_TIME_MAX - XFS_BIGTIME_EPOCH_OFFSET,
260 16299260424LL);
261
262 /* Do the same with the incore quota expiration range. */
263 XFS_CHECK_VALUE(XFS_DQ_BIGTIME_EXPIRY_MIN << XFS_DQ_BIGTIME_SHIFT, 4);
264 XFS_CHECK_VALUE(XFS_DQ_BIGTIME_EXPIRY_MAX << XFS_DQ_BIGTIME_SHIFT,
265 16299260424LL);
266
267 /* superblock field checks we got from xfs/122 */
268 XFS_CHECK_STRUCT_SIZE(struct xfs_dsb, 304);
269 XFS_CHECK_STRUCT_SIZE(struct xfs_sb, 304);
270 XFS_CHECK_SB_OFFSET(sb_magicnum, 0);
271 XFS_CHECK_SB_OFFSET(sb_blocksize, 4);
272 XFS_CHECK_SB_OFFSET(sb_dblocks, 8);
273 XFS_CHECK_SB_OFFSET(sb_rblocks, 16);
274 XFS_CHECK_SB_OFFSET(sb_rextents, 24);
275 XFS_CHECK_SB_OFFSET(sb_uuid, 32);
276 XFS_CHECK_SB_OFFSET(sb_logstart, 48);
277 XFS_CHECK_SB_OFFSET(sb_rootino, 56);
278 XFS_CHECK_SB_OFFSET(sb_rbmino, 64);
279 XFS_CHECK_SB_OFFSET(sb_rsumino, 72);
280 XFS_CHECK_SB_OFFSET(sb_rextsize, 80);
281 XFS_CHECK_SB_OFFSET(sb_agblocks, 84);
282 XFS_CHECK_SB_OFFSET(sb_agcount, 88);
283 XFS_CHECK_SB_OFFSET(sb_rbmblocks, 92);
284 XFS_CHECK_SB_OFFSET(sb_logblocks, 96);
285 XFS_CHECK_SB_OFFSET(sb_versionnum, 100);
286 XFS_CHECK_SB_OFFSET(sb_sectsize, 102);
287 XFS_CHECK_SB_OFFSET(sb_inodesize, 104);
288 XFS_CHECK_SB_OFFSET(sb_inopblock, 106);
289 XFS_CHECK_SB_OFFSET(sb_blocklog, 120);
290 XFS_CHECK_SB_OFFSET(sb_fname[12], 120);
291 XFS_CHECK_SB_OFFSET(sb_sectlog, 121);
292 XFS_CHECK_SB_OFFSET(sb_inodelog, 122);
293 XFS_CHECK_SB_OFFSET(sb_inopblog, 123);
294 XFS_CHECK_SB_OFFSET(sb_agblklog, 124);
295 XFS_CHECK_SB_OFFSET(sb_rextslog, 125);
296 XFS_CHECK_SB_OFFSET(sb_inprogress, 126);
297 XFS_CHECK_SB_OFFSET(sb_imax_pct, 127);
298 XFS_CHECK_SB_OFFSET(sb_icount, 128);
299 XFS_CHECK_SB_OFFSET(sb_ifree, 136);
300 XFS_CHECK_SB_OFFSET(sb_fdblocks, 144);
301 XFS_CHECK_SB_OFFSET(sb_frextents, 152);
302 XFS_CHECK_SB_OFFSET(sb_uquotino, 160);
303 XFS_CHECK_SB_OFFSET(sb_gquotino, 168);
304 XFS_CHECK_SB_OFFSET(sb_qflags, 176);
305 XFS_CHECK_SB_OFFSET(sb_flags, 178);
306 XFS_CHECK_SB_OFFSET(sb_shared_vn, 179);
307 XFS_CHECK_SB_OFFSET(sb_inoalignmt, 180);
308 XFS_CHECK_SB_OFFSET(sb_unit, 184);
309 XFS_CHECK_SB_OFFSET(sb_width, 188);
310 XFS_CHECK_SB_OFFSET(sb_dirblklog, 192);
311 XFS_CHECK_SB_OFFSET(sb_logsectlog, 193);
312 XFS_CHECK_SB_OFFSET(sb_logsectsize, 194);
313 XFS_CHECK_SB_OFFSET(sb_logsunit, 196);
314 XFS_CHECK_SB_OFFSET(sb_features2, 200);
315 XFS_CHECK_SB_OFFSET(sb_bad_features2, 204);
316 XFS_CHECK_SB_OFFSET(sb_features_compat, 208);
317 XFS_CHECK_SB_OFFSET(sb_features_ro_compat, 212);
318 XFS_CHECK_SB_OFFSET(sb_features_incompat, 216);
319 XFS_CHECK_SB_OFFSET(sb_features_log_incompat, 220);
320 XFS_CHECK_SB_OFFSET(sb_crc, 224);
321 XFS_CHECK_SB_OFFSET(sb_spino_align, 228);
322 XFS_CHECK_SB_OFFSET(sb_pquotino, 232);
323 XFS_CHECK_SB_OFFSET(sb_lsn, 240);
324 XFS_CHECK_SB_OFFSET(sb_meta_uuid, 248);
325 XFS_CHECK_SB_OFFSET(sb_metadirino, 264);
326 XFS_CHECK_SB_OFFSET(sb_rgcount, 272);
327 XFS_CHECK_SB_OFFSET(sb_rgextents, 276);
328 XFS_CHECK_SB_OFFSET(sb_rgblklog, 280);
329 XFS_CHECK_SB_OFFSET(sb_pad, 281);
330 XFS_CHECK_SB_OFFSET(sb_rtstart, 288);
331 XFS_CHECK_SB_OFFSET(sb_rtreserved, 296);
332 }
333
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2026-02-06 18:04 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-06 3:05 [PATCH] xfs: add static size checks for structures in xfs_fs.h Wilfred Mallawa
2026-02-06 6:08 ` Christoph Hellwig
2026-02-09 7:04 ` Wilfred Mallawa
2026-02-09 14:47 ` hch
2026-02-10 5:59 ` Wilfred Mallawa
2026-02-06 9:39 ` kernel test robot
2026-02-06 11:02 ` kernel test robot
2026-02-06 18:03 ` kernel test robot [this message]
2026-02-06 22:27 ` Dave Chinner
2026-02-09 6:57 ` Wilfred Mallawa
2026-02-09 14:41 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202602070136.oX0Sc8Su-lkp@intel.com \
--to=lkp@intel.com \
--cc=cem@kernel.org \
--cc=djwong@kernel.org \
--cc=hch@lst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=wilfred.mallawa@wdc.com \
--cc=wilfred.opensource@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.