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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox