All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.