* BUG: NILFS error (device dm-0): nilfs_bmap_lookup_contig: broken bmap (inode number=4023271)
@ 2025-06-24 20:27 Tomas Hlavaty
2025-06-25 2:27 ` Ryusuke Konishi
0 siblings, 1 reply; 2+ messages in thread
From: Tomas Hlavaty @ 2025-06-24 20:27 UTC (permalink / raw)
To: Ryusuke Konishi; +Cc: linux-nilfs, linux-kernel
Hi Ryusuke,
I get the following error:
NILFS error (device dm-0): nilfs_bmap_lookup_contig:
broken bmap (inode number=4023271)
and the filesystem gets mounted read-only.
I can remount the filesystem read-write again manually, but after an
operation which touches the broken part of the filesystem, it gets
remounted read-only again.
I have identified the file of the inode:
sudo find / -inum 4023271
as
/root/.cache/mesa_shader_cache_db/index
but remounting rw and trying to
rm -r /root/.cache
puts the filesystem to ro mode again.
(not sure why there is .cache dir and mesa_shader_cache_db dir in the
/root dir, I never use root account for GUI)
I am in the process of upgrading the system from nixos24.11 to
nixos25.05 but this issue is preventing me from doing so. Is there a
way to fix the filesystem so that it stays read-write? Or do I have to
discard the whole filesystem?
Also I have noticed since long time ago, that reboot or shutdown says
something about nilfs discarding stuff, which seems strange and those
messages were not there a year or more ago. Not sure if this is
related, but it should not be discarding anything I guess. I see these
messages on many machines so it is not related to a particular hardware.
Log and stacktrace are bellow.
Please let me know if I can provide more info about the problem.
Any help would be appreciated.
Thank you,
Tomas
$ uname -a
Linux buta 6.6.87 #1-NixOS SMP PREEMPT_DYNAMIC Thu Apr 10 12:37:44 UTC 2025 x86_64 GNU/Linux
$ sudo dmesg | grep nilfs
[ 1.087780] stage-1-init: [Tue Jun 24 19:32:16 UTC 2025] loading module nilfs2...
[ 35.318251] NILFS error (device dm-0): nilfs_bmap_lookup_contig: broken bmap (inode number=4023271)
[ 35.319235] NILFS error (device dm-0): nilfs_bmap_lookup_contig: broken bmap (inode number=4023271)
[...]
[ 35.347872] NILFS error (device dm-0): nilfs_bmap_lookup_contig:
broken bmap (inode number=4023271)
[ 1733.401421] nilfs_segctor_do_construct+0xdd/0x2630 [nilfs2]
[ 1733.401747] ? nilfs_mdt_fetch_dirty+0x19/0x50 [nilfs2]
[ 1733.401899] ? nilfs_test_metadata_dirty.isra.0+0x50/0xb0 [nilfs2]
[ 1733.402059] nilfs_segctor_construct+0x170/0x2b0 [nilfs2]
[ 1733.402220] nilfs_segctor_thread+0x155/0x3f0 [nilfs2]
[ 1733.402385] ? __pfx_nilfs_segctor_thread+0x10/0x10 [nilfs2]
[ 1738.068626] NILFS error (device dm-0): nilfs_bmap_last_key: broken
bmap (inode number=4023271)
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: BUG: NILFS error (device dm-0): nilfs_bmap_lookup_contig: broken bmap (inode number=4023271)
2025-06-24 20:27 BUG: NILFS error (device dm-0): nilfs_bmap_lookup_contig: broken bmap (inode number=4023271) Tomas Hlavaty
@ 2025-06-25 2:27 ` Ryusuke Konishi
0 siblings, 0 replies; 2+ messages in thread
From: Ryusuke Konishi @ 2025-06-25 2:27 UTC (permalink / raw)
To: Tomas Hlavaty; +Cc: linux-nilfs, linux-kernel
On Wed, Jun 25, 2025 at 5:27 AM Tomas Hlavaty wrote:
>
> Hi Ryusuke,
>
> I get the following error:
>
> NILFS error (device dm-0): nilfs_bmap_lookup_contig:
> broken bmap (inode number=4023271)
>
> and the filesystem gets mounted read-only.
>
> I can remount the filesystem read-write again manually, but after an
> operation which touches the broken part of the filesystem, it gets
> remounted read-only again.
>
> I have identified the file of the inode:
> sudo find / -inum 4023271
> as
> /root/.cache/mesa_shader_cache_db/index
> but remounting rw and trying to
> rm -r /root/.cache
> puts the filesystem to ro mode again.
> (not sure why there is .cache dir and mesa_shader_cache_db dir in the
> /root dir, I never use root account for GUI)
>
> I am in the process of upgrading the system from nixos24.11 to
> nixos25.05 but this issue is preventing me from doing so. Is there a
> way to fix the filesystem so that it stays read-write? Or do I have to
> discard the whole filesystem?
>
> Also I have noticed since long time ago, that reboot or shutdown says
> something about nilfs discarding stuff, which seems strange and those
> messages were not there a year or more ago. Not sure if this is
> related, but it should not be discarding anything I guess. I see these
> messages on many machines so it is not related to a particular hardware.
>
> Log and stacktrace are bellow.
> Please let me know if I can provide more info about the problem.
>
> Any help would be appreciated.
>
> Thank you,
Sorry for the inconvenience, and thank you for reporting the details
of the problem.
The log suggests that the b-tree, which is the metadata of the file or
directory with inode 4023271, is corrupted, making it impossible to
read and, as a result, impossible to write.
The /root/.cache/... directory is not created by nilfs, so it is
probably an application directory.
If the problem is only partial, first mount it read-only,
and then try copying it to another device while excluding the
directory from access, for example, by specifying the option
"--exclude /root/.cache" in rsync.
As for in-place repair, the conclusion is that there is currently no
way to do it. The only thing we can do is mount the filesystem
read-only and salvage as much data as possible (without touching the
damage). If you have a backup, it may be quicker to retrieve important
data from there (in any case, nilfs is powerless against block device
corruption, so please make backups as frequently as necessary).
syzbot started reporting a large number of automatically detected bugs
a few years ago, so we have been fixing a lot of serious bugs over the
past few years, and have also strengthened the detection of abnormal
file system states.
That is probably why the abnormal message from a few years ago
(probably a message about dropping to read-only and discarding dirty
data) has become a problem now.
If there were no messages with the old kernel and there were no
problems, you could use it to rescue your data, but since there is a
high possibility that there is some abnormality that was not detected
in the past, this method is generally not recommended.
I hope this helps a little.
Regards,
Ryusuke Konishi
>
> Tomas
>
> $ uname -a
> Linux buta 6.6.87 #1-NixOS SMP PREEMPT_DYNAMIC Thu Apr 10 12:37:44 UTC 2025 x86_64 GNU/Linux
>
> $ sudo dmesg | grep nilfs
> [ 1.087780] stage-1-init: [Tue Jun 24 19:32:16 UTC 2025] loading module nilfs2...
> [ 35.318251] NILFS error (device dm-0): nilfs_bmap_lookup_contig: broken bmap (inode number=4023271)
> [ 35.319235] NILFS error (device dm-0): nilfs_bmap_lookup_contig: broken bmap (inode number=4023271)
> [...]
> [ 35.347872] NILFS error (device dm-0): nilfs_bmap_lookup_contig:
> broken bmap (inode number=4023271)
> [ 1733.401421] nilfs_segctor_do_construct+0xdd/0x2630 [nilfs2]
> [ 1733.401747] ? nilfs_mdt_fetch_dirty+0x19/0x50 [nilfs2]
> [ 1733.401899] ? nilfs_test_metadata_dirty.isra.0+0x50/0xb0 [nilfs2]
> [ 1733.402059] nilfs_segctor_construct+0x170/0x2b0 [nilfs2]
> [ 1733.402220] nilfs_segctor_thread+0x155/0x3f0 [nilfs2]
> [ 1733.402385] ? __pfx_nilfs_segctor_thread+0x10/0x10 [nilfs2]
> [ 1738.068626] NILFS error (device dm-0): nilfs_bmap_last_key: broken
> bmap (inode number=4023271)
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-06-25 2:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-24 20:27 BUG: NILFS error (device dm-0): nilfs_bmap_lookup_contig: broken bmap (inode number=4023271) Tomas Hlavaty
2025-06-25 2:27 ` Ryusuke Konishi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).