On 2025/12/25 12:08, kernel test robot wrote:
Hi Hongbo,
kernel test robot noticed the following build errors:
[auto build test ERROR on xiang-erofs/dev-test]
[also build test ERROR on xiang-erofs/dev xiang-erofs/fixes brauner-vfs/vfs.all
linus/master v6.19-rc2 next-20251219]
[cannot apply to mszeredi-fuse/for-next]
[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/Hongbo-Li/iomap-stash-iomap-read-ctx-in-the-private-field-of-iomap_iter/20251224-122950
base: https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git dev-test
patch link:
https://lore.kernel.org/r/20251224040932.496478-6-lihongbo22%40huawei.com
patch subject: [PATCH v11 05/10] erofs: support user-defined fingerprint name
config: powerpc-randconfig-001-20251225
(https://download.01.org/0day-ci/archive/20251225/[email protected]/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project
4ef602d446057dabf5f61fb221669ecbeda49279)
reproduce (this is a W=1 build):
(https://download.01.org/0day-ci/archive/20251225/[email protected]/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 <[email protected]>
| Closes:
https://lore.kernel.org/oe-kbuild-all/[email protected]/
All errors (new ones prefixed by >>):
fs/erofs/super.c:302:8: error: no member named 'ishare_xattr_pfx' in 'struct
erofs_sb_info'
302 | sbi->ishare_xattr_pfx =
| ~~~ ^
1 error generated.
vim +302 fs/erofs/super.c
263
264 static int erofs_read_superblock(struct super_block *sb)
265 {
266 struct erofs_sb_info *sbi = EROFS_SB(sb);
267 struct erofs_buf buf = __EROFS_BUF_INITIALIZER;
268 struct erofs_super_block *dsb;
269 void *data;
270 int ret;
271
272 data = erofs_read_metabuf(&buf, sb, 0, false);
273 if (IS_ERR(data)) {
274 erofs_err(sb, "cannot read erofs superblock");
275 return PTR_ERR(data);
276 }
277
278 dsb = (struct erofs_super_block *)(data + EROFS_SUPER_OFFSET);
279 ret = -EINVAL;
280 if (le32_to_cpu(dsb->magic) != EROFS_SUPER_MAGIC_V1) {
281 erofs_err(sb, "cannot find valid erofs superblock");
282 goto out;
283 }
284
285 sbi->blkszbits = dsb->blkszbits;
286 if (sbi->blkszbits < 9 || sbi->blkszbits > PAGE_SHIFT) {
287 erofs_err(sb, "blkszbits %u isn't supported",
sbi->blkszbits);
288 goto out;
289 }
290 if (dsb->dirblkbits) {
291 erofs_err(sb, "dirblkbits %u isn't supported",
dsb->dirblkbits);
292 goto out;
293 }
294
295 sbi->feature_compat = le32_to_cpu(dsb->feature_compat);
296 if (erofs_sb_has_sb_chksum(sbi)) {
297 ret = erofs_superblock_csum_verify(sb, data);
298 if (ret)
299 goto out;
300 }
301 if (erofs_sb_has_ishare_xattrs(sbi))
> 302 sbi->ishare_xattr_pfx =
303 dsb->ishare_xattr_prefix_id &
EROFS_XATTR_LONG_PREFIX_MASK;
304
305 ret = -EINVAL;
306 sbi->feature_incompat = le32_to_cpu(dsb->feature_incompat);
307 if (sbi->feature_incompat & ~EROFS_ALL_FEATURE_INCOMPAT) {
308 erofs_err(sb, "unidentified incompatible feature %x, please
upgrade kernel",
309 sbi->feature_incompat &
~EROFS_ALL_FEATURE_INCOMPAT);
310 goto out;
311 }
312
313 sbi->sb_size = 128 + dsb->sb_extslots * EROFS_SB_EXTSLOT_SIZE;
314 if (sbi->sb_size > PAGE_SIZE - EROFS_SUPER_OFFSET) {
315 erofs_err(sb, "invalid sb_extslots %u (more than a fs
block)",
316 sbi->sb_size);
317 goto out;
318 }
319 sbi->dif0.blocks = le32_to_cpu(dsb->blocks_lo);
320 sbi->meta_blkaddr = le32_to_cpu(dsb->meta_blkaddr);
321 #ifdef CONFIG_EROFS_FS_XATTR
The EROFS_FS_XATTR is disabled, so should put in here.. I will fix it in
next version.
Thanks,
Hongbo
322 sbi->xattr_blkaddr = le32_to_cpu(dsb->xattr_blkaddr);
323 sbi->xattr_prefix_start = le32_to_cpu(dsb->xattr_prefix_start);
324 sbi->xattr_prefix_count = dsb->xattr_prefix_count;
325 sbi->xattr_filter_reserved = dsb->xattr_filter_reserved;
326 #endif
327 sbi->islotbits = ilog2(sizeof(struct erofs_inode_compact));
328 if (erofs_sb_has_48bit(sbi) && dsb->rootnid_8b) {
329 sbi->root_nid = le64_to_cpu(dsb->rootnid_8b);
330 sbi->dif0.blocks = sbi->dif0.blocks |
331 ((u64)le16_to_cpu(dsb->rb.blocks_hi) <<
32);
332 } else {
333 sbi->root_nid = le16_to_cpu(dsb->rb.rootnid_2b);
334 }
335 sbi->packed_nid = le64_to_cpu(dsb->packed_nid);
336 if (erofs_sb_has_metabox(sbi)) {
337 if (sbi->sb_size <= offsetof(struct erofs_super_block,
338 metabox_nid))
339 return -EFSCORRUPTED;
340 sbi->metabox_nid = le64_to_cpu(dsb->metabox_nid);
341 if (sbi->metabox_nid &
BIT_ULL(EROFS_DIRENT_NID_METABOX_BIT))
342 return -EFSCORRUPTED; /* self-loop detection
*/
343 }
344 sbi->inos = le64_to_cpu(dsb->inos);
345
346 sbi->epoch = (s64)le64_to_cpu(dsb->epoch);
347 sbi->fixed_nsec = le32_to_cpu(dsb->fixed_nsec);
348 super_set_uuid(sb, (void *)dsb->uuid, sizeof(dsb->uuid));
349
350 if (dsb->volume_name[0]) {
351 sbi->volume_name = kstrndup(dsb->volume_name,
352 sizeof(dsb->volume_name),
GFP_KERNEL);
353 if (!sbi->volume_name)
354 return -ENOMEM;
355 }
356
357 /* parse on-disk compression configurations */
358 ret = z_erofs_parse_cfgs(sb, dsb);
359 if (ret < 0)
360 goto out;
361
362 ret = erofs_scan_devices(sb, dsb);
363
364 if (erofs_sb_has_48bit(sbi))
365 erofs_info(sb, "EXPERIMENTAL 48-bit layout support in use.
Use at your own risk!");
366 if (erofs_sb_has_metabox(sbi))
367 erofs_info(sb, "EXPERIMENTAL metadata compression support in
use. Use at your own risk!");
368 if (erofs_is_fscache_mode(sb))
369 erofs_info(sb, "[deprecated] fscache-based on-demand read
feature in use. Use at your own risk!");
370 out:
371 erofs_put_metabuf(&buf);
372 return ret;
373 }
374