* [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub
@ 2024-01-08 14:11 Alex Romosan
2024-01-11 11:45 ` Thorsten Leemhuis
0 siblings, 1 reply; 13+ messages in thread
From: Alex Romosan @ 2024-01-08 14:11 UTC (permalink / raw)
To: linux-kernel
Please Cc me as I am not subscribed to the list.
Running my own compiled kernel without initramfs on a lenovo thinkpad
x1 carbon gen 7.
Since version 6.7-rc1 i haven't been able to to a grub-update, instead
i get this error:
grub-probe: error: cannot find a device for / (is /dev mounted?) solid
state drive
6.6 was the last version that worked.
Today I did a git-bisect between these two versions which identified
commit bc27d6f0aa0e4de184b617aceeaf25818cc646de btrfs: scan but don't
register device on single device filesystem as the culprit. reverting
this commit from 6.7 final allowed me to run update-grub again.
not sure if this is the intended behavior or if i'm missing some other
kernel options. any help/fixes would be appreciated.
thank you.
--alex--
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub
2024-01-08 14:11 [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub Alex Romosan
@ 2024-01-11 11:45 ` Thorsten Leemhuis
2024-01-11 15:50 ` David Sterba
0 siblings, 1 reply; 13+ messages in thread
From: Thorsten Leemhuis @ 2024-01-11 11:45 UTC (permalink / raw)
To: Anand Jain
Cc: linux-btrfs, Linux kernel regressions list, linux-kernel,
Alex Romosan, Chris Mason, Josef Bacik, David Sterba
[Adding Anand Jain, the author of the culprit to the list of recipients;
furthermore CCing the the Btrfs maintainers and the btrfs list; also
CCing regression list, as it should be in the loop for regressions:
https://docs.kernel.org/admin-guide/reporting-regressions.html]
On 08.01.24 15:11, Alex Romosan wrote:
> Please Cc me as I am not subscribed to the list.
>
> Running my own compiled kernel without initramfs on a lenovo thinkpad
> x1 carbon gen 7.
>
> Since version 6.7-rc1 i haven't been able to to a grub-update,
>
> instead i get this error:
>
> grub-probe: error: cannot find a device for / (is /dev mounted?) solid
> state drive
>
> 6.6 was the last version that worked.
>
> Today I did a git-bisect between these two versions which identified
> commit bc27d6f0aa0e4de184b617aceeaf25818cc646de btrfs: scan but don't
> register device on single device filesystem as the culprit. reverting
> this commit from 6.7 final allowed me to run update-grub again.
>
> not sure if this is the intended behavior or if i'm missing some other
> kernel options. any help/fixes would be appreciated.
>
> thank you.
Thanks for the report. To be sure the issue doesn't fall through the
cracks unnoticed, I'm adding it to regzbot, the Linux kernel regression
tracking bot:
#regzbot ^introduced bc27d6f0aa0e4de184b617aceeaf25818cc646de
#regzbot title btrfs: update-grub broken (cannot find a device for / (is
/dev mounted?))
#regzbot ignore-activity
This isn't a regression? This issue or a fix for it are already
discussed somewhere else? It was fixed already? You want to clarify when
the regression started to happen? Or point out I got the title or
something else totally wrong? Then just reply and tell me -- ideally
while also telling regzbot about it, as explained by the page listed in
the footer of this mail.
Developers: When fixing the issue, remember to add 'Link:' tags pointing
to the report (the parent of this mail). See page linked in footer for
details.
Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
That page also explains what to do if mails like this annoy you.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub
2024-01-11 11:45 ` Thorsten Leemhuis
@ 2024-01-11 15:50 ` David Sterba
2024-01-11 17:06 ` David Sterba
0 siblings, 1 reply; 13+ messages in thread
From: David Sterba @ 2024-01-11 15:50 UTC (permalink / raw)
To: Thorsten Leemhuis
Cc: Anand Jain, linux-btrfs, Linux kernel regressions list,
linux-kernel, Alex Romosan, Chris Mason, Josef Bacik,
David Sterba
On Thu, Jan 11, 2024 at 12:45:50PM +0100, Thorsten Leemhuis wrote:
> [Adding Anand Jain, the author of the culprit to the list of recipients;
> furthermore CCing the the Btrfs maintainers and the btrfs list; also
> CCing regression list, as it should be in the loop for regressions:
> https://docs.kernel.org/admin-guide/reporting-regressions.html]
>
> On 08.01.24 15:11, Alex Romosan wrote:
> > Please Cc me as I am not subscribed to the list.
> >
> > Running my own compiled kernel without initramfs on a lenovo thinkpad
> > x1 carbon gen 7.
> >
> > Since version 6.7-rc1 i haven't been able to to a grub-update,
> >
> > instead i get this error:
> >
> > grub-probe: error: cannot find a device for / (is /dev mounted?) solid
> > state drive
> >
> > 6.6 was the last version that worked.
> >
> > Today I did a git-bisect between these two versions which identified
> > commit bc27d6f0aa0e4de184b617aceeaf25818cc646de btrfs: scan but don't
> > register device on single device filesystem as the culprit. reverting
> > this commit from 6.7 final allowed me to run update-grub again.
> >
> > not sure if this is the intended behavior or if i'm missing some other
> > kernel options. any help/fixes would be appreciated.
> >
> > thank you.
>
> Thanks for the report. To be sure the issue doesn't fall through the
> cracks unnoticed, I'm adding it to regzbot, the Linux kernel regression
> tracking bot:
>
> #regzbot ^introduced bc27d6f0aa0e4de184b617aceeaf25818cc646de
> #regzbot title btrfs: update-grub broken (cannot find a device for / (is
> /dev mounted?))
> #regzbot ignore-activity
The bug is also tracked at https://bugzilla.kernel.org/show_bug.cgi?id=218353 .
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub
2024-01-11 15:50 ` David Sterba
@ 2024-01-11 17:06 ` David Sterba
2024-01-11 23:24 ` Anand Jain
0 siblings, 1 reply; 13+ messages in thread
From: David Sterba @ 2024-01-11 17:06 UTC (permalink / raw)
To: David Sterba
Cc: Thorsten Leemhuis, Anand Jain, linux-btrfs,
Linux kernel regressions list, linux-kernel, Alex Romosan,
Chris Mason, Josef Bacik, David Sterba
On Thu, Jan 11, 2024 at 04:50:56PM +0100, David Sterba wrote:
> On Thu, Jan 11, 2024 at 12:45:50PM +0100, Thorsten Leemhuis wrote:
> > [Adding Anand Jain, the author of the culprit to the list of recipients;
> > furthermore CCing the the Btrfs maintainers and the btrfs list; also
> > CCing regression list, as it should be in the loop for regressions:
> > https://docs.kernel.org/admin-guide/reporting-regressions.html]
> >
> > On 08.01.24 15:11, Alex Romosan wrote:
> > > Please Cc me as I am not subscribed to the list.
> > >
> > > Running my own compiled kernel without initramfs on a lenovo thinkpad
> > > x1 carbon gen 7.
> > >
> > > Since version 6.7-rc1 i haven't been able to to a grub-update,
> > >
> > > instead i get this error:
> > >
> > > grub-probe: error: cannot find a device for / (is /dev mounted?) solid
> > > state drive
> > >
> > > 6.6 was the last version that worked.
> > >
> > > Today I did a git-bisect between these two versions which identified
> > > commit bc27d6f0aa0e4de184b617aceeaf25818cc646de btrfs: scan but don't
> > > register device on single device filesystem as the culprit. reverting
> > > this commit from 6.7 final allowed me to run update-grub again.
> > >
> > > not sure if this is the intended behavior or if i'm missing some other
> > > kernel options. any help/fixes would be appreciated.
> > >
> > > thank you.
> >
> > Thanks for the report. To be sure the issue doesn't fall through the
> > cracks unnoticed, I'm adding it to regzbot, the Linux kernel regression
> > tracking bot:
> >
> > #regzbot ^introduced bc27d6f0aa0e4de184b617aceeaf25818cc646de
> > #regzbot title btrfs: update-grub broken (cannot find a device for / (is
> > /dev mounted?))
> > #regzbot ignore-activity
>
> The bug is also tracked at https://bugzilla.kernel.org/show_bug.cgi?id=218353 .
About the fix: we can't simply revert the patch because the temp_fsid
depends on that. A workaround could be to check if the device path is
"/dev/root" and still register the device. But I'm not sure if this does
not break the use case that Steamdeck needs, as it's for the root
partition.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub
2024-01-11 17:06 ` David Sterba
@ 2024-01-11 23:24 ` Anand Jain
2024-01-22 0:07 ` Alex Romosan
2024-02-01 10:25 ` Linux regression tracking (Thorsten Leemhuis)
0 siblings, 2 replies; 13+ messages in thread
From: Anand Jain @ 2024-01-11 23:24 UTC (permalink / raw)
To: Alex Romosan, CHECK_1234543212345, brauner
Cc: Thorsten Leemhuis, linux-btrfs, Linux kernel regressions list,
linux-kernel, Chris Mason, Josef Bacik, David Sterba, dsterba
On 11/01/2024 22:36, David Sterba wrote:
> On Thu, Jan 11, 2024 at 04:50:56PM +0100, David Sterba wrote:
>> On Thu, Jan 11, 2024 at 12:45:50PM +0100, Thorsten Leemhuis wrote:
>>> [Adding Anand Jain, the author of the culprit to the list of recipients;
>>> furthermore CCing the the Btrfs maintainers and the btrfs list; also
>>> CCing regression list, as it should be in the loop for regressions:
>>> https://docs.kernel.org/admin-guide/reporting-regressions.html]
>>>
>>> On 08.01.24 15:11, Alex Romosan wrote:
>>>> Please Cc me as I am not subscribed to the list.
>>>>
>>>> Running my own compiled kernel without initramfs on a lenovo thinkpad
>>>> x1 carbon gen 7.
>>>>
>>>> Since version 6.7-rc1 i haven't been able to to a grub-update,
>>>>
>>>> instead i get this error:
>>>>
>>>> grub-probe: error: cannot find a device for / (is /dev mounted?) solid
>>>> state drive
>>>>
>>>> 6.6 was the last version that worked.
>>>>
>>>> Today I did a git-bisect between these two versions which identified
>>>> commit bc27d6f0aa0e4de184b617aceeaf25818cc646de btrfs: scan but don't
>>>> register device on single device filesystem as the culprit. reverting
>>>> this commit from 6.7 final allowed me to run update-grub again.
>>>>
>>>> not sure if this is the intended behavior or if i'm missing some other
>>>> kernel options. any help/fixes would be appreciated.
>>>>
>>>> thank you.
>>>
>>> Thanks for the report. To be sure the issue doesn't fall through the
>>> cracks unnoticed, I'm adding it to regzbot, the Linux kernel regression
>>> tracking bot:
>>>
>>> #regzbot ^introduced bc27d6f0aa0e4de184b617aceeaf25818cc646de
>>> #regzbot title btrfs: update-grub broken (cannot find a device for / (is
>>> /dev mounted?))
>>> #regzbot ignore-activity
>>
>> The bug is also tracked at https://bugzilla.kernel.org/show_bug.cgi?id=218353 .
>
> About the fix: we can't simply revert the patch because the temp_fsid
> depends on that. A workaround could be to check if the device path is
> "/dev/root" and still register the device. But I'm not sure if this does
> not break the use case that Steamdeck needs, as it's for the root
> partition.
Thank you for the report.
The issue seems more complex than a simple scenario, as the following
test-case works well:
$ mount /dev/sdb1 /btrfs
$ cat /proc/self/mountinfo | grep btrfs
345 63 0:34 / /btrfs rw,relatime shared:179 - btrfs /dev/sdb1
rw,space_cache=v2,subvolid=5,subvol=/
However, the relevant part of the commit
bc27d6f0aa0e4de184b617aceeaf25818cc646de that may be failing could
be in identifying a device, whether it is the same or different
For this, we use:
lookup_bdev(path, &path_devt);
and match with the devt(MAJ:MIN) saved in the btrfs_device;
would this work during initrd? I need to dig more. Trying
to figure out how can I reproduce this.
Thanks, Anand
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub
2024-01-11 23:24 ` Anand Jain
@ 2024-01-22 0:07 ` Alex Romosan
2024-01-22 1:35 ` Anand Jain
2024-02-01 10:25 ` Linux regression tracking (Thorsten Leemhuis)
1 sibling, 1 reply; 13+ messages in thread
From: Alex Romosan @ 2024-01-22 0:07 UTC (permalink / raw)
To: Anand Jain
Cc: CHECK_1234543212345, brauner, Thorsten Leemhuis, linux-btrfs,
Linux kernel regressions list, linux-kernel, Chris Mason,
Josef Bacik, David Sterba, dsterba
update-grub still doesn't work 6.8-rc1
so i did:
# cat /proc/self/mountinfo | grep btrfs
21 1 0:19 / / rw,relatime shared:1 - btrfs /dev/root
rw,ssd,discard=async,space_cache,subvolid=5,subvol=/
the difference from your test case is that it doesn't reference
the disk device but /dev/root which on my system doesn't exist. could this
be the problem?
--alex--
On Fri, Jan 12, 2024 at 12:24 AM Anand Jain <anand.jain@oracle.com> wrote:
>
>
>
> On 11/01/2024 22:36, David Sterba wrote:
> > On Thu, Jan 11, 2024 at 04:50:56PM +0100, David Sterba wrote:
> >> On Thu, Jan 11, 2024 at 12:45:50PM +0100, Thorsten Leemhuis wrote:
> >>> [Adding Anand Jain, the author of the culprit to the list of recipients;
> >>> furthermore CCing the the Btrfs maintainers and the btrfs list; also
> >>> CCing regression list, as it should be in the loop for regressions:
> >>> https://docs.kernel.org/admin-guide/reporting-regressions.html]
> >>>
> >>> On 08.01.24 15:11, Alex Romosan wrote:
> >>>> Please Cc me as I am not subscribed to the list.
> >>>>
> >>>> Running my own compiled kernel without initramfs on a lenovo thinkpad
> >>>> x1 carbon gen 7.
> >>>>
> >>>> Since version 6.7-rc1 i haven't been able to to a grub-update,
> >>>>
> >>>> instead i get this error:
> >>>>
> >>>> grub-probe: error: cannot find a device for / (is /dev mounted?) solid
> >>>> state drive
> >>>>
> >>>> 6.6 was the last version that worked.
> >>>>
> >>>> Today I did a git-bisect between these two versions which identified
> >>>> commit bc27d6f0aa0e4de184b617aceeaf25818cc646de btrfs: scan but don't
> >>>> register device on single device filesystem as the culprit. reverting
> >>>> this commit from 6.7 final allowed me to run update-grub again.
> >>>>
> >>>> not sure if this is the intended behavior or if i'm missing some other
> >>>> kernel options. any help/fixes would be appreciated.
> >>>>
> >>>> thank you.
> >>>
> >>> Thanks for the report. To be sure the issue doesn't fall through the
> >>> cracks unnoticed, I'm adding it to regzbot, the Linux kernel regression
> >>> tracking bot:
> >>>
> >>> #regzbot ^introduced bc27d6f0aa0e4de184b617aceeaf25818cc646de
> >>> #regzbot title btrfs: update-grub broken (cannot find a device for / (is
> >>> /dev mounted?))
> >>> #regzbot ignore-activity
> >>
> >> The bug is also tracked at https://bugzilla.kernel.org/show_bug.cgi?id=218353 .
> >
> > About the fix: we can't simply revert the patch because the temp_fsid
> > depends on that. A workaround could be to check if the device path is
> > "/dev/root" and still register the device. But I'm not sure if this does
> > not break the use case that Steamdeck needs, as it's for the root
> > partition.
>
>
> Thank you for the report.
>
> The issue seems more complex than a simple scenario, as the following
> test-case works well:
>
> $ mount /dev/sdb1 /btrfs
> $ cat /proc/self/mountinfo | grep btrfs
> 345 63 0:34 / /btrfs rw,relatime shared:179 - btrfs /dev/sdb1
> rw,space_cache=v2,subvolid=5,subvol=/
>
> However, the relevant part of the commit
> bc27d6f0aa0e4de184b617aceeaf25818cc646de that may be failing could
> be in identifying a device, whether it is the same or different
> For this, we use:
>
> lookup_bdev(path, &path_devt);
>
> and match with the devt(MAJ:MIN) saved in the btrfs_device;
> would this work during initrd? I need to dig more. Trying
> to figure out how can I reproduce this.
>
> Thanks, Anand
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub
2024-01-22 0:07 ` Alex Romosan
@ 2024-01-22 1:35 ` Anand Jain
2024-01-22 1:46 ` Alex Romosan
0 siblings, 1 reply; 13+ messages in thread
From: Anand Jain @ 2024-01-22 1:35 UTC (permalink / raw)
To: Alex Romosan
Cc: CHECK_1234543212345, brauner, Thorsten Leemhuis, linux-btrfs,
Linux kernel regressions list, linux-kernel, Chris Mason,
Josef Bacik, David Sterba, dsterba
On 22/01/2024 08:07, Alex Romosan wrote:
> update-grub still doesn't work 6.8-rc1
>
> so i did:
>
> # cat /proc/self/mountinfo | grep btrfs
> 21 1 0:19 / / rw,relatime shared:1 - btrfs /dev/root
> rw,ssd,discard=async,space_cache,subvolid=5,subvol=/
>
The latest Btrfs kernel expect one MAJ:MIN for a block device,
but multiple nodes here point to the same root device:
/dev/root MAJ1:MIN1 \___ root-device
/dev/sda1 MAJ2:MIN2 /
To fix, I'm exploring communication through block-device nodes
with a temporary signature tag on the superblock for identification.
Community feedback is pending, and potentially synchronization issues
maybe a concer.
> the difference from your test case is that it doesn't reference
> the disk device but /dev/root which on my system doesn't exist. could this
> be the problem?
>
How are you reproducing this? I tried with Oracle Linux (OL), Fedora,
and Arch Linux, but they didn't show /dev/root as the root device.
Thanks, Anand
> --alex--
>
>
> On Fri, Jan 12, 2024 at 12:24 AM Anand Jain <anand.jain@oracle.com> wrote:
>>
>>
>>
>> On 11/01/2024 22:36, David Sterba wrote:
>>> On Thu, Jan 11, 2024 at 04:50:56PM +0100, David Sterba wrote:
>>>> On Thu, Jan 11, 2024 at 12:45:50PM +0100, Thorsten Leemhuis wrote:
>>>>> [Adding Anand Jain, the author of the culprit to the list of recipients;
>>>>> furthermore CCing the the Btrfs maintainers and the btrfs list; also
>>>>> CCing regression list, as it should be in the loop for regressions:
>>>>> https://docs.kernel.org/admin-guide/reporting-regressions.html]
>>>>>
>>>>> On 08.01.24 15:11, Alex Romosan wrote:
>>>>>> Please Cc me as I am not subscribed to the list.
>>>>>>
>>>>>> Running my own compiled kernel without initramfs on a lenovo thinkpad
>>>>>> x1 carbon gen 7.
>>>>>>
>>>>>> Since version 6.7-rc1 i haven't been able to to a grub-update,
>>>>>>
>>>>>> instead i get this error:
>>>>>>
>>>>>> grub-probe: error: cannot find a device for / (is /dev mounted?) solid
>>>>>> state drive
>>>>>>
>>>>>> 6.6 was the last version that worked.
>>>>>>
>>>>>> Today I did a git-bisect between these two versions which identified
>>>>>> commit bc27d6f0aa0e4de184b617aceeaf25818cc646de btrfs: scan but don't
>>>>>> register device on single device filesystem as the culprit. reverting
>>>>>> this commit from 6.7 final allowed me to run update-grub again.
>>>>>>
>>>>>> not sure if this is the intended behavior or if i'm missing some other
>>>>>> kernel options. any help/fixes would be appreciated.
>>>>>>
>>>>>> thank you.
>>>>>
>>>>> Thanks for the report. To be sure the issue doesn't fall through the
>>>>> cracks unnoticed, I'm adding it to regzbot, the Linux kernel regression
>>>>> tracking bot:
>>>>>
>>>>> #regzbot ^introduced bc27d6f0aa0e4de184b617aceeaf25818cc646de
>>>>> #regzbot title btrfs: update-grub broken (cannot find a device for / (is
>>>>> /dev mounted?))
>>>>> #regzbot ignore-activity
>>>>
>>>> The bug is also tracked at https://bugzilla.kernel.org/show_bug.cgi?id=218353 .
>>>
>>> About the fix: we can't simply revert the patch because the temp_fsid
>>> depends on that. A workaround could be to check if the device path is
>>> "/dev/root" and still register the device. But I'm not sure if this does
>>> not break the use case that Steamdeck needs, as it's for the root
>>> partition.
>>
>>
>> Thank you for the report.
>>
>> The issue seems more complex than a simple scenario, as the following
>> test-case works well:
>>
>> $ mount /dev/sdb1 /btrfs
>> $ cat /proc/self/mountinfo | grep btrfs
>> 345 63 0:34 / /btrfs rw,relatime shared:179 - btrfs /dev/sdb1
>> rw,space_cache=v2,subvolid=5,subvol=/
>>
>> However, the relevant part of the commit
>> bc27d6f0aa0e4de184b617aceeaf25818cc646de that may be failing could
>> be in identifying a device, whether it is the same or different
>> For this, we use:
>>
>> lookup_bdev(path, &path_devt);
>>
>> and match with the devt(MAJ:MIN) saved in the btrfs_device;
>> would this work during initrd? I need to dig more. Trying
>> to figure out how can I reproduce this.
>>
>> Thanks, Anand
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub
2024-01-22 1:35 ` Anand Jain
@ 2024-01-22 1:46 ` Alex Romosan
0 siblings, 0 replies; 13+ messages in thread
From: Alex Romosan @ 2024-01-22 1:46 UTC (permalink / raw)
To: Anand Jain
Cc: CHECK_1234543212345, brauner, Thorsten Leemhuis, linux-btrfs,
Linux kernel regressions list, linux-kernel, Chris Mason,
Josef Bacik, David Sterba, dsterba
On Mon, Jan 22, 2024 at 2:35 AM Anand Jain <anand.jain@oracle.com> wrote:
>
>
>
> On 22/01/2024 08:07, Alex Romosan wrote:
> > update-grub still doesn't work 6.8-rc1
> >
> > so i did:
> >
> > # cat /proc/self/mountinfo | grep btrfs
> > 21 1 0:19 / / rw,relatime shared:1 - btrfs /dev/root
> > rw,ssd,discard=async,space_cache,subvolid=5,subvol=/
> >
>
> The latest Btrfs kernel expect one MAJ:MIN for a block device,
> but multiple nodes here point to the same root device:
>
> /dev/root MAJ1:MIN1 \___ root-device
> /dev/sda1 MAJ2:MIN2 /
>
> To fix, I'm exploring communication through block-device nodes
> with a temporary signature tag on the superblock for identification.
> Community feedback is pending, and potentially synchronization issues
> maybe a concer.
>
> > the difference from your test case is that it doesn't reference
> > the disk device but /dev/root which on my system doesn't exist. could this
> > be the problem?
> >
>
> How are you reproducing this? I tried with Oracle Linux (OL), Fedora,
> and Arch Linux, but they didn't show /dev/root as the root device.
i'm running debian on a lenovo x1. this is my /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/nvme0n1p3 during installation
#UUID=695aa7ac-862a-4de3-ae59-c96f784600a0 / btrfs
defaults 0 0
PARTUUID=43094f42-5f54-4456-9d14-3c41e92326e1 / btrfs
defaults 0 0
# /boot/efi was on /dev/nvme0n1p1 during installation
#UUID=A4A3-9199 /boot/efi vfat umask=0077 0 1
PARTUUID=05e00aed-a6ad-4cdc-9a40-4b775dbf87a9 /boot/efi vfat
umask=0077 0 1
# swap was on /dev/nvme0n1p2 during installation
#UUID=6b9a36ed-14d8-458d-8575-c8d29dc80bdf none swap sw
0 0
PARTUUID=db40aeb2-88b4-46eb-970f-58a410bf272e none swap
sw 0 0
i'm running my own compiled kernel without initrd. the disk with the btrfs
filesystem is the only disk on that laptop. i'm just booting the kernel
(everything works fine there) but when i try to run update-grub i get:
# update-grub
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).
--alex--
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub
2024-01-11 23:24 ` Anand Jain
2024-01-22 0:07 ` Alex Romosan
@ 2024-02-01 10:25 ` Linux regression tracking (Thorsten Leemhuis)
2024-02-03 22:03 ` David Sterba
[not found] ` <CAKLYgeLhcE5+Td9eGKAi0xeXSsom381RxuJgKiQ0+oHDNS_DJA@mail.gmail.com>
1 sibling, 2 replies; 13+ messages in thread
From: Linux regression tracking (Thorsten Leemhuis) @ 2024-02-01 10:25 UTC (permalink / raw)
To: Anand Jain, Alex Romosan, CHECK_1234543212345, brauner
Cc: linux-btrfs, Linux kernel regressions list, linux-kernel,
Chris Mason, Josef Bacik, David Sterba, dsterba
Hi, Thorsten here, the Linux kernel's regression tracker. Top-posting
for once, to make this easily accessible to everyone.
Anand, what's the status wrt to below issue (which afaics seems to
affect quite a few people)? Things look stalled, but I might be missing
something, that's why I ask for a quick update.
Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
If I did something stupid, please tell me, as explained on that page.
#regzbot poke
On 12.01.24 00:24, Anand Jain wrote:
> On 11/01/2024 22:36, David Sterba wrote:
>> On Thu, Jan 11, 2024 at 04:50:56PM +0100, David Sterba wrote:
>>> On Thu, Jan 11, 2024 at 12:45:50PM +0100, Thorsten Leemhuis wrote:
>>>>
>>>> On 08.01.24 15:11, Alex Romosan wrote:
>>>>>
>>>>> Running my own compiled kernel without initramfs on a lenovo thinkpad
>>>>> x1 carbon gen 7.
>>>>>
>>>>> Since version 6.7-rc1 i haven't been able to to a grub-update,
>>>>>
>>>>> instead i get this error:
>>>>>
>>>>> grub-probe: error: cannot find a device for / (is /dev mounted?) solid
>>>>> state drive
>>>>>
>>>>> 6.6 was the last version that worked.
>>>>>
>>>>> Today I did a git-bisect between these two versions which identified
>>>>> commit bc27d6f0aa0e4de184b617aceeaf25818cc646de btrfs: scan but don't
>>>>> register device on single device filesystem as the culprit. reverting
>>>>> this commit from 6.7 final allowed me to run update-grub again.
>>>>>
>>>>> not sure if this is the intended behavior or if i'm missing some other
>>>>> kernel options. any help/fixes would be appreciated.
>>>>
>>>> Thanks for the report. To be sure the issue doesn't fall through the
>>>> cracks unnoticed, I'm adding it to regzbot, the Linux kernel regression
>>>> tracking bot:
>>>>
>>>> #regzbot ^introduced bc27d6f0aa0e4de184b617aceeaf25818cc646de
>>>> #regzbot title btrfs: update-grub broken (cannot find a device for /
>>>> (is
>>>> /dev mounted?))
>>>> #regzbot ignore-activity
>>>
>>> The bug is also tracked at
>>> https://bugzilla.kernel.org/show_bug.cgi?id=218353 .
>>
>> About the fix: we can't simply revert the patch because the temp_fsid
>> depends on that. A workaround could be to check if the device path is
>> "/dev/root" and still register the device. But I'm not sure if this does
>> not break the use case that Steamdeck needs, as it's for the root
>> partition.
>
>
> Thank you for the report.
>
> The issue seems more complex than a simple scenario, as the following
> test-case works well:
>
> $ mount /dev/sdb1 /btrfs
> $ cat /proc/self/mountinfo | grep btrfs
> 345 63 0:34 / /btrfs rw,relatime shared:179 - btrfs /dev/sdb1
> rw,space_cache=v2,subvolid=5,subvol=/
>
> However, the relevant part of the commit
> bc27d6f0aa0e4de184b617aceeaf25818cc646de that may be failing could
> be in identifying a device, whether it is the same or different
> For this, we use:
>
> lookup_bdev(path, &path_devt);
>
> and match with the devt(MAJ:MIN) saved in the btrfs_device;
> would this work during initrd? I need to dig more. Trying
> to figure out how can I reproduce this.
>
> Thanks, Anand
>
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub
2024-02-01 10:25 ` Linux regression tracking (Thorsten Leemhuis)
@ 2024-02-03 22:03 ` David Sterba
[not found] ` <CAKLYgeLhcE5+Td9eGKAi0xeXSsom381RxuJgKiQ0+oHDNS_DJA@mail.gmail.com>
1 sibling, 0 replies; 13+ messages in thread
From: David Sterba @ 2024-02-03 22:03 UTC (permalink / raw)
To: Linux regressions mailing list
Cc: Anand Jain, Alex Romosan, CHECK_1234543212345, brauner,
linux-btrfs, linux-kernel, Chris Mason, Josef Bacik,
David Sterba, dsterba
On Thu, Feb 01, 2024 at 11:25:28AM +0100, Linux regression tracking (Thorsten Leemhuis) wrote:
> Hi, Thorsten here, the Linux kernel's regression tracker. Top-posting
> for once, to make this easily accessible to everyone.
>
> Anand, what's the status wrt to below issue (which afaics seems to
> affect quite a few people)? Things look stalled, but I might be missing
> something, that's why I ask for a quick update.
Yeah it's affecting people and not stalled but we ran out of ideas.
I'll present the latest fix that works for me (similar setup as the
reporter), though not everybody may like it:
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -2360,6 +2360,7 @@ static int btrfs_unfreeze(struct super_block *sb)
static int btrfs_show_devname(struct seq_file *m, struct dentry *root)
{
struct btrfs_fs_info *fs_info = btrfs_sb(root->d_sb);
+ char real[4096] = { "/dev/" };
/*
* There should be always a valid pointer in latest_dev, it may be stale
@@ -2367,7 +2368,8 @@ static int btrfs_show_devname(struct seq_file *m, struct dentry *root)
* the end of RCU grace period.
*/
rcu_read_lock();
- seq_escape(m, btrfs_dev_name(fs_info->fs_devices->latest_dev), " \t\n\\");
+ scnprintf(real + 5, sizeof(real) - 5, "%pg", fs_info->fs_devices->latest_dev->bdev);
+ seq_puts(m, real);
rcu_read_unlock();
return 0;
---
The problem that was reported was a discrepancy in what show_devname
returned (/proc/self/mountinfo) and what eg. mount showed. Both resolve
the device name in a different way. The problem is that mountinfo relies
on what btrfs remembers as the device path that was passed during
scanning && at the mount time. Since then it's not updated due to
changes done in 6.7 for temp_fsid (single devices don't have any cached
representation of the device, so the new path is basically forgotten).
What the fix does: print the path of the same block device but not the
cached (possibly stale) value.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub
[not found] ` <CAKLYgeLhcE5+Td9eGKAi0xeXSsom381RxuJgKiQ0+oHDNS_DJA@mail.gmail.com>
@ 2024-02-04 18:29 ` Alex Romosan
2024-02-05 11:26 ` David Sterba
0 siblings, 1 reply; 13+ messages in thread
From: Alex Romosan @ 2024-02-04 18:29 UTC (permalink / raw)
To: Linux regressions mailing list
Cc: Anand Jain, CHECK_1234543212345, brauner, linux-btrfs,
linux-kernel, Chris Mason, Josef Bacik, David Sterba, dsterba
sorry about the html post (in case somebody actually got it). as i was
saying, just for the record it's still not fixed in 6.8-rc3. thanks.
On Sun, Feb 4, 2024 at 7:27 PM Alex Romosan <aromosan@gmail.com> wrote:
>
> just for the record it's still not fixed in 6.8-rc3 (obviously, since i've been looking at the btrfs patches being applied).
>
> On Thu, Feb 1, 2024 at 11:25 AM Linux regression tracking (Thorsten Leemhuis) <regressions@leemhuis.info> wrote:
>>
>> Hi, Thorsten here, the Linux kernel's regression tracker. Top-posting
>> for once, to make this easily accessible to everyone.
>>
>> Anand, what's the status wrt to below issue (which afaics seems to
>> affect quite a few people)? Things look stalled, but I might be missing
>> something, that's why I ask for a quick update.
>>
>> Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
>> --
>> Everything you wanna know about Linux kernel regression tracking:
>> https://linux-regtracking.leemhuis.info/about/#tldr
>> If I did something stupid, please tell me, as explained on that page.
>>
>> #regzbot poke
>>
>> On 12.01.24 00:24, Anand Jain wrote:
>> > On 11/01/2024 22:36, David Sterba wrote:
>> >> On Thu, Jan 11, 2024 at 04:50:56PM +0100, David Sterba wrote:
>> >>> On Thu, Jan 11, 2024 at 12:45:50PM +0100, Thorsten Leemhuis wrote:
>> >>>>
>> >>>> On 08.01.24 15:11, Alex Romosan wrote:
>> >>>>>
>> >>>>> Running my own compiled kernel without initramfs on a lenovo thinkpad
>> >>>>> x1 carbon gen 7.
>> >>>>>
>> >>>>> Since version 6.7-rc1 i haven't been able to to a grub-update,
>> >>>>>
>> >>>>> instead i get this error:
>> >>>>>
>> >>>>> grub-probe: error: cannot find a device for / (is /dev mounted?) solid
>> >>>>> state drive
>> >>>>>
>> >>>>> 6.6 was the last version that worked.
>> >>>>>
>> >>>>> Today I did a git-bisect between these two versions which identified
>> >>>>> commit bc27d6f0aa0e4de184b617aceeaf25818cc646de btrfs: scan but don't
>> >>>>> register device on single device filesystem as the culprit. reverting
>> >>>>> this commit from 6.7 final allowed me to run update-grub again.
>> >>>>>
>> >>>>> not sure if this is the intended behavior or if i'm missing some other
>> >>>>> kernel options. any help/fixes would be appreciated.
>> >>>>
>> >>>> Thanks for the report. To be sure the issue doesn't fall through the
>> >>>> cracks unnoticed, I'm adding it to regzbot, the Linux kernel regression
>> >>>> tracking bot:
>> >>>>
>> >>>> #regzbot ^introduced bc27d6f0aa0e4de184b617aceeaf25818cc646de
>> >>>> #regzbot title btrfs: update-grub broken (cannot find a device for /
>> >>>> (is
>> >>>> /dev mounted?))
>> >>>> #regzbot ignore-activity
>> >>>
>> >>> The bug is also tracked at
>> >>> https://bugzilla.kernel.org/show_bug.cgi?id=218353 .
>> >>
>> >> About the fix: we can't simply revert the patch because the temp_fsid
>> >> depends on that. A workaround could be to check if the device path is
>> >> "/dev/root" and still register the device. But I'm not sure if this does
>> >> not break the use case that Steamdeck needs, as it's for the root
>> >> partition.
>> >
>> >
>> > Thank you for the report.
>> >
>> > The issue seems more complex than a simple scenario, as the following
>> > test-case works well:
>> >
>> > $ mount /dev/sdb1 /btrfs
>> > $ cat /proc/self/mountinfo | grep btrfs
>> > 345 63 0:34 / /btrfs rw,relatime shared:179 - btrfs /dev/sdb1
>> > rw,space_cache=v2,subvolid=5,subvol=/
>> >
>> > However, the relevant part of the commit
>> > bc27d6f0aa0e4de184b617aceeaf25818cc646de that may be failing could
>> > be in identifying a device, whether it is the same or different
>> > For this, we use:
>> >
>> > lookup_bdev(path, &path_devt);
>> >
>> > and match with the devt(MAJ:MIN) saved in the btrfs_device;
>> > would this work during initrd? I need to dig more. Trying
>> > to figure out how can I reproduce this.
>> >
>> > Thanks, Anand
>> >
>> >
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub
2024-02-04 18:29 ` Alex Romosan
@ 2024-02-05 11:26 ` David Sterba
2024-02-05 12:38 ` Alex Romosan
0 siblings, 1 reply; 13+ messages in thread
From: David Sterba @ 2024-02-05 11:26 UTC (permalink / raw)
To: Alex Romosan
Cc: Linux regressions mailing list, Anand Jain, CHECK_1234543212345,
brauner, linux-btrfs, linux-kernel, Chris Mason, Josef Bacik,
David Sterba, dsterba
On Sun, Feb 04, 2024 at 07:29:29PM +0100, Alex Romosan wrote:
> sorry about the html post (in case somebody actually got it). as i was
> saying, just for the record it's still not fixed in 6.8-rc3. thanks.
I've updated the bug with link to fix
https://github.com/kdave/btrfs-devel/commit/b80f3ec6592c69f88ebc74a4e16676af161e2759
but would like to ask for testing.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub
2024-02-05 11:26 ` David Sterba
@ 2024-02-05 12:38 ` Alex Romosan
0 siblings, 0 replies; 13+ messages in thread
From: Alex Romosan @ 2024-02-05 12:38 UTC (permalink / raw)
To: dsterba
Cc: Linux regressions mailing list, Anand Jain, CHECK_1234543212345,
brauner, linux-btrfs, linux-kernel, Chris Mason, Josef Bacik,
David Sterba
i can confirm that with this patch applied on top of 6.8-rc3 i can now
run update-grub. thank you. checked the kernel logs for btrfs related
messages and everything seems fine:
Btrfs loaded, zoned=no, fsverity=no
BTRFS: device fsid 695aa7ac-862a-4de3-ae59-c96f784600a0 devid 1
transid 1990924 /dev/root scanned by swapper/0 (1)
BTRFS info (device nvme0n1p3): first mount of filesystem
695aa7ac-862a-4de3-ae59-c96f784600a0
BTRFS info (device nvme0n1p3): using crc32c (crc32c-generic) checksum algorithm
BTRFS info (device nvme0n1p3): disk space caching is enabled
VFS: Mounted root (btrfs filesystem) readonly on device 0:19.
BTRFS info (device nvme0n1p3): the free space cache file
(604538667008) is invalid, skip it
BTRFS info: devid 1 device path /dev/root changed to /dev/nvme0n1p3
scanned by (udev-worker) (277)
BTRFS info (device nvme0n1p3): the free space cache file
(675405627392) is invalid, skip it
BTRFS info (device nvme0n1p3): the free space cache file
(696880463872) is invalid, skip it
BTRFS info (device nvme0n1p3): the free space cache file
(725871493120) is invalid, skip it
BTRFS info (device nvme0n1p3): the free space cache file
(799959678976) is invalid, skip it
BTRFS info (device nvme0n1p3): the free space cache file
(1658160414720) is invalid, skip it
not sure what's going on with the free space cache file, it wasn't
that long ago i mounted the disk with the clear_cache option after
which those messages disappeared but now it's back again...
--alex--
On Mon, Feb 5, 2024 at 12:26 PM David Sterba <dsterba@suse.cz> wrote:
>
> On Sun, Feb 04, 2024 at 07:29:29PM +0100, Alex Romosan wrote:
> > sorry about the html post (in case somebody actually got it). as i was
> > saying, just for the record it's still not fixed in 6.8-rc3. thanks.
>
> I've updated the bug with link to fix
>
> https://github.com/kdave/btrfs-devel/commit/b80f3ec6592c69f88ebc74a4e16676af161e2759
>
> but would like to ask for testing.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2024-02-05 12:38 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-08 14:11 [btrfs] commit bc27d6f0aa0e4de184b617aceeaf25818cc646de breaks update-grub Alex Romosan
2024-01-11 11:45 ` Thorsten Leemhuis
2024-01-11 15:50 ` David Sterba
2024-01-11 17:06 ` David Sterba
2024-01-11 23:24 ` Anand Jain
2024-01-22 0:07 ` Alex Romosan
2024-01-22 1:35 ` Anand Jain
2024-01-22 1:46 ` Alex Romosan
2024-02-01 10:25 ` Linux regression tracking (Thorsten Leemhuis)
2024-02-03 22:03 ` David Sterba
[not found] ` <CAKLYgeLhcE5+Td9eGKAi0xeXSsom381RxuJgKiQ0+oHDNS_DJA@mail.gmail.com>
2024-02-04 18:29 ` Alex Romosan
2024-02-05 11:26 ` David Sterba
2024-02-05 12:38 ` Alex Romosan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®