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: Wed, 23 Sep 2026 05:34:36 +0900
> Thank you for the disk image, that made debugging this much easier.
> There were two bugs: the loop through partial-segments wasn't
> terminating when it encountered a live block, so it appeared to the next
> iteration that there were more FINFOs to go when in fact there were
> not. Also, lfs_checkempty() was not bounds-checking correctly, so it
> was not checking only the segment in question but every segment written
> after that ... some of which were bound to have live blocks in them.
>
> Please try this patch (also attached) which addresses both issues.
Thank you.
I replaced the patch, I got following result.
===> MOUNT 32
===> GOOD mount
1+0 records in
1+0 records out
1048576 bytes transferred in 0.007 secs (149796571 bytes/sec)
[ 70.5795566] panic: lfs_writeinode: looping
[ 70.5795566] cpu1: Begin traceback...
[ 70.5795566] vpanic() at netbsd:vpanic+0x171
[ 70.5895550] panic() at netbsd:panic+0x3c
[ 70.5895550] lfs_writeinode() at netbsd:lfs_writeinode+0xed2
[ 70.5995568] lfs_segwrite() at netbsd:lfs_segwrite+0x469
[ 70.6095545] lfs_sync() at netbsd:lfs_sync+0xc6
[ 70.6095545] VFS_SYNC() at netbsd:VFS_SYNC+0x22
[ 70.6195540] do_sys_sync() at netbsd:do_sys_sync+0x65
[ 70.6195540] sys_sync() at netbsd:sys_sync+0x9
[ 70.6295539] syscall() at netbsd:syscall+0x9d
[ 70.6295539] --- syscall (number 36) ---
[ 70.6395538] netbsd:syscall+0x9d:
[ 70.6395538] cpu1: End traceback...
Home |
Main Index |
Thread Index |
Old Index