NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/60746: kernel diagnostic assertion "ino >= LFS_IFILE_INUM" failed: file "../../../../ufs/lfs/lfs_vfsops.c", line 1800



The following reply was made to PR kern/60746; it has been noted by GNATS.

From: Shinichi Doyashiki <clare%csel.org@localhost>
To: Konrad Schroder <perseant%hhhh.org@localhost>, gnats-bugs%netbsd.org@localhost
Cc: 
Subject:  Re: kern/60746: kernel diagnostic assertion "ino >= LFS_IFILE_INUM" failed:
 file "../../../../ufs/lfs/lfs_vfsops.c", line 1800
Date: Sun, 20 Sep 2026 07:26:05 +0900

 > The "ino == 0" makes me think that the segment writer overcounted the 
 > number of inodes it put into the inode block.  There is some logic for 
 > overwriting an inode that may not be working properly.  It is also 
 > possible, of course, that the data that the roll-forward code is trying 
 > to recover is corrupt despite having the right checksum.
 > 
 > Could you try this patch (also attached)?
 
 after the patch applied, I got following result.
 
 [ 152.8764894] panic: kernel diagnostic assertion "ino >= LFS_IFILE_INUM" failed: file "../../../../ufs/lfs/lfs_kclean.c", line 674 
 [ 152.8864894] cpu1: Begin traceback...
 [ 152.8864894] vpanic() at netbsd:vpanic+0x171
 [ 152.8964876] kern_assert() at netbsd:kern_assert+0x4b
 [ 152.8964876] finfo_func_checkempty() at netbsd:finfo_func_checkempty+0x261
 [ 152.9064849] lfs_parse_pseg() at netbsd:lfs_parse_pseg+0x398
 [ 152.9164805] lfs_checkempty() at netbsd:lfs_checkempty+0xec
 [ 152.9164805] lfs_markclean() at netbsd:lfs_markclean+0x3e
 [ 152.9264786] lfs_auto_segclean() at netbsd:lfs_auto_segclean+0x22a
 [ 152.9364767] lfs_segunlock() at netbsd:lfs_segunlock+0x760
 [ 152.9364767] lfs_segwrite() at netbsd:lfs_segwrite+0x531
 [ 152.9464748] lfs_sync() at netbsd:lfs_sync+0xc6
 [ 152.9564730] VFS_SYNC() at netbsd:VFS_SYNC+0x22
 [ 152.9564730] do_sys_sync() at netbsd:do_sys_sync+0x65
 [ 152.9664711] sys_sync() at netbsd:sys_sync+0x9
 [ 152.9664711] syscall() at netbsd:syscall+0x9d
 [ 152.9764693] --- syscall (number 36) ---
 [ 152.9764693] netbsd:syscall+0x9d:
 [ 152.9764693] cpu1: End traceback...
 
 # fsck_lfs -nf /dev/rdk4
 ** /dev/rdk4 (NO WRITE)
 ** Newer checkpoint verified; recovered 0 seconds of data
 ** Last Mounted on /testlfs
 ** Phase 0 - Check Inode Free List
 ** Phase 1 - Check Blocks and Sizes
 ** Phase 2 - Check Pathnames
 ** Phase 3 - Check Connectivity
 ** Phase 4 - Check Reference Counts
 ** Phase 5 - Check Segment Block Accounting
 3 files, 2115 used, 56298 free
 
 # mount_lfs -u /dev/dk4 /testlfs
 [ 302.3280813] panic: kernel diagnostic assertion "ino >= LFS_IFILE_INUM" failed: file "../../../../ufs/lfs/lfs_kclean.c", line 674 
 [ 302.3397972] cpu0: Begin traceback...
 [ 302.3397972] vpanic() at netbsd:vpanic+0x171
 [ 302.3481817] kern_assert() at netbsd:kern_assert+0x4b
 [ 302.3481817] finfo_func_checkempty() at netbsd:finfo_func_checkempty+0x261
 [ 302.3588705] lfs_parse_pseg() at netbsd:lfs_parse_pseg+0x398
 [ 302.3683911] lfs_checkempty() at netbsd:lfs_checkempty+0xec
 [ 302.3683911] lfs_markclean() at netbsd:lfs_markclean+0x3e
 [ 302.3787013] lfs_auto_segclean() at netbsd:lfs_auto_segclean+0x22a
 [ 302.3881606] lfs_segunlock() at netbsd:lfs_segunlock+0x760
 [ 302.3881606] lfs_segwrite() at netbsd:lfs_segwrite+0x531
 [ 302.3982913] lfs_roll_forward() at netbsd:lfs_roll_forward+0x8ab
 [ 302.4080790] lfs_mountfs() at netbsd:lfs_mountfs+0x1294
 [ 302.4080790] lfs_mount() at netbsd:lfs_mount+0x210
 [ 302.4191670] VFS_MOUNT() at netbsd:VFS_MOUNT+0x57
 [ 302.4191670] mount_domount() at netbsd:mount_domount+0xcc
 [ 302.4286846] do_sys_mount() at netbsd:do_sys_mount+0x1c0
 [ 302.4380787] sys___mount50() at netbsd:sys___mount50+0x36
 [ 302.4380787] syscall() at netbsd:syscall+0x9d
 [ 302.4487597] --- syscall (number 410) ---
 [ 302.4487597] netbsd:syscall+0x9d:
 [ 302.4487597] cpu0: End traceback...
 
 
 



Home | Main Index | Thread Index | Old Index