From: Jesper Dangaard Brouer <hawk@kernel.org>
To: Damien Le Moal <dlemoal@kernel.org>,
Linus Torvalds <torvalds@linuxfoundation.org>,
LKML <linux-kernel@vger.kernel.org>
Cc: Netdev <netdev@vger.kernel.org>, Jens Axboe <axboe@kernel.dk>,
linux-ide@vger.kernel.org, cassel@kernel.org,
handan.babu@oracle.com, djwong@kernel.org,
Linux-XFS <linux-xfs@vger.kernel.org>,
hdegoede@redhat.com, "David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>,
kernel-team <kernel-team@cloudflare.com>
Subject: Re: Regression v6.11 booting cannot mount harddisks (xfs)
Date: Tue, 10 Sep 2024 16:49:18 +0200 [thread overview]
Message-ID: <ee565fda-b230-4fb3-8122-e0a9248ef1d1@kernel.org> (raw)
In-Reply-To: <d2c82922-675e-470f-a4d3-d24c4aecf2e8@kernel.org>
On 10/09/2024 15.06, Damien Le Moal wrote:
> On 2024/09/10 21:19, Jesper Dangaard Brouer wrote:
>> Hi Linus,
>>
>> My testlab kernel devel server isn't booting correctly on v6.11 branches
>> (e.g. net-next at 6.11.0-rc5)
>> I just confirmed this also happens on your tree tag: v6.11-rc7.
>>
>> The symptom/issue is that harddisk dev names (e.g /dev/sda, /dev/sdb,
>> /dev/sdc) gets reordered. I switched /etc/fstab to use UUID's instead
>> (which boots on v6.10) but on 6.11 it still cannot mount harddisks and
>> doesn't fully boot.
>
> Parallel SCSI device scanning has been around for a long time... This is
> controlled with CONFIG_SCSI_SCAN_ASYNC. And yes, that can cause disk names to
> change, which is why it is never a good idea to rely on them but instead use
> /dev/disk/by-* names. Disabling CONFIG_SCSI_SCAN_ASYNC will likely not guarantee
> that disk names will be constant, given that you seem to have 2 AHCI adapters on
> your host and PCI device scanning is done in parallel.
>
>> E.g. errors:
>> systemd[1]: Expecting device
>> dev-disk-by\x2duuid-0c2b348d\x2de013\x2d482b\x2da91c\x2d029640ec427a.device
>> - /dev/disk/by-uuid/0c2b348d-e013-482b-a91c-029640ec42
>> 7a...
>> [DEPEND] Dependency failed for var-lib.mount - /var/lib.
>> [...]
>> [ TIME ] Timed out waiting for device
>> dev-d…499e46-b40d-4067-afd4-5f6ad09fcff2.
>> [DEPEND] Dependency failed for boot.mount - /boot.
>>
>> That corresponds to fstab's:
>> - UUID=8b499e46-b40d-4067-afd4-5f6ad09fcff2 /boot xfs defaults 0 0
>> - UUID=0c2b348d-e013-482b-a91c-029640ec427a /var/lib/ xfs defaults 0 0
>>
>> It looks like disk controller initialization happens in *parallel* on
>> these newer kernels as dmesg shows init printk's overlapping:
>>
>> [ 5.683393] scsi 5:0:0:0: Direct-Access ATA SAMSUNG
>> MZ7KM120 003Q PQ: 0 ANSI: 5
>> [ 5.683641] scsi 7:0:0:0: Direct-Access ATA SAMSUNG
>> MZ7KM120 003Q PQ: 0 ANSI: 5
>> [ 5.683797] scsi 8:0:0:0: Direct-Access ATA Samsung SSD
>> 840 BB0Q PQ: 0 ANSI: 5
>> [...]
>> [ 7.057376] sd 5:0:0:0: [sda] 234441648 512-byte logical blocks:
>> (120 GB/112 GiB)
>> [ 7.062279] sd 7:0:0:0: [sdb] 234441648 512-byte logical blocks:
>> (120 GB/112 GiB)
>> [ 7.070628] sd 5:0:0:0: [sda] Write Protect is off
>> [ 7.070701] sd 8:0:0:0: [sdc] 488397168 512-byte logical blocks:
>> (250 GB/233 GiB)
>>
>> Perhaps this could be a hint to what changed?
>
> See above. The disk /dev/sdX names not being reliable is rather normal.
> Are you sure you have the correct UUIDs of your FSes on the disks ? You can
> check them with "blkid /dev/sdX[n]"
>
I have checked that I use the correct UUIDs.
I checked my /etc/fstab have the UUID entries under /dev/disk/by-uuid/
via this oneliner, which needs to have a /etc/fstab entry under each
UUID. We can see I have one partition that I'm not using
(0fd3bc38-6496-401f-87f2-87e09532de53), which is expected.
$ for UUID in $(ls /dev/disk/by-uuid/); do echo $UUID; grep -H $UUID
/etc/fstab; done
09e8c15f-80d2-47e3-8e73-d3fdfcf33eef
/etc/fstab:UUID=09e8c15f-80d2-47e3-8e73-d3fdfcf33eef /
xfs defaults 0 0
0c2b348d-e013-482b-a91c-029640ec427a
/etc/fstab:UUID=0c2b348d-e013-482b-a91c-029640ec427a /var/lib/ xfs
defaults 0 0
0fd3bc38-6496-401f-87f2-87e09532de53
581920da-1ccb-4b25-856c-036310032a74
/etc/fstab:UUID=581920da-1ccb-4b25-856c-036310032a74 /nix xfs defaults 0 0
8b499e46-b40d-4067-afd4-5f6ad09fcff2
/etc/fstab:UUID=8b499e46-b40d-4067-afd4-5f6ad09fcff2 /boot
xfs defaults 0 0
cd409a50-0371-47ca-9213-49a2bc7b9317
/etc/fstab:UUID=cd409a50-0371-47ca-9213-49a2bc7b9317 swap
swap defaults 0 0
>> Any hints what commit I should try to test revert?
>> Or good starting point for bisecting?
>
> You said that 6.10 works, so maybe start from there ?
I tested I could boot tag v6.10, and have started bisection.
I've not tried to deselect CONFIG_SCSI_SCAN_ASYNC as the kernel that
worked on tag v6.10 also had this CONFIG_SCSI_SCAN_ASYNC enabled. So, it
is likely not related to the async controller init.
--Jesper
next prev parent reply other threads:[~2024-09-10 14:49 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-10 12:19 Regression v6.11 booting cannot mount harddisks (xfs) Jesper Dangaard Brouer
2024-09-10 13:06 ` Damien Le Moal
2024-09-10 14:49 ` Jesper Dangaard Brouer [this message]
2024-09-10 17:53 ` Jesper Dangaard Brouer
2024-09-10 18:30 ` Linus Torvalds
2024-09-10 19:07 ` Jesper Dangaard Brouer
2024-09-10 18:38 ` Jens Axboe
2024-09-10 18:46 ` Linus Torvalds
2024-09-10 18:56 ` Jens Axboe
2024-09-10 19:19 ` Jesper Dangaard Brouer
2024-09-10 19:21 ` Jens Axboe
2024-09-10 19:40 ` Jesper Dangaard Brouer
2024-09-10 19:43 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ee565fda-b230-4fb3-8122-e0a9248ef1d1@kernel.org \
--to=hawk@kernel.org \
--cc=axboe@kernel.dk \
--cc=cassel@kernel.org \
--cc=davem@davemloft.net \
--cc=djwong@kernel.org \
--cc=dlemoal@kernel.org \
--cc=handan.babu@oracle.com \
--cc=hdegoede@redhat.com \
--cc=kernel-team@cloudflare.com \
--cc=kuba@kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=torvalds@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.