Re: regression, btrfs mount failure when multiple rescue mount options used

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

 





在 2025/9/7 09:31, Chris Murphy 写道:
kernel with mount failures:
6.17.0-0.rc4.36.fc43.x86_64
6.16.4-200.fc42.x86_64
6.15.11-200.fc42.x86_64


# mount -o ro,rescue=usebackuproot,nologreplay,ibadroots /dev/loop0 /mnt
mount: /mnt: fsconfig system call failed: btrfs: Unknown parameter 'nologreplay'.
        dmesg(1) may have more information after failed mount system call.
# mount -o ro,rescue=usebackuproot /dev/loop0 /mnt
# umount /mnt
# mount -o ro,rescue=usebackuproot,ibadroots /dev/loop0 /mnt
# mount: /mnt: fsconfig system call failed: btrfs: Unknown parameter 'ibadroots'.
        dmesg(1) may have more information after failed mount system call.
# mount -o ro,rescue=ibadroots /dev/loop0 /mnt
#

There are no kernel messages for the failures.

Looks like single rescue options work, but multiple rescue options separated by comma fail.

It looks like there is no longer combined "rescue=" since 6.8, where we switched to the new fsconfig mount method.

And even before that, the separator for "rescue=" command group is ':', not ',' as that conflicts with the default separator.

There is no support for using ',' inside "rescue=" from the very beginning.

Thanks,
Qu


Any rescue option after the first comma, results in an fsconfig complaint.  Since it looks like fsconfig migration fallout, I'll cc some additional folks, and fs-devel.

---

I get different results with kernel 6.14.11-300.fc42.x86_64 but I think some of the bugs are fixed in later kernels hence the different behavior. And in any case it's EOL so I won't test any further back than this kernel.

# mount -o ro,rescue=usebackuproot,nologreplay,ibadroots /dev/loop0 /mnt
mount: /mnt: fsconfig system call failed: btrfs: Unknown parameter 'ibadroots'.
        dmesg(1) may have more information after failed mount system call.

Notice the complaint is about ibadroots, not nologreplay. And there is a kernel message this time.

Sep 06 19:44:38 fnuc.local kernel: BTRFS warning: 'nologreplay' is deprecated, use 'rescue=nologreplay' instead


But there's more. All of these commands result in mount succeeded, but kernel messages don't indicate they were used.

# mount -o ro,rescue=ibadroots /dev/loop0 /mnt
# umount /mnt
# mount -o ro,rescue=usebackuproot /dev/loop0 /mnt
# umount /mnt
# mount -o ro,rescue=nologreplay /dev/loop0 /mnt

This one has yet another different  outcome, I don't know why.

# mount -o ro,rescue=idatacsum /dev/loop0 /mnt
mount: /mnt: fsconfig system call failed: btrfs: Bad value for 'rescue'.
        dmesg(1) may have more information after failed mount system call.



--
Chris Murphy






[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux