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>,
	Christoph Hellwig <hch@infradead.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 19:53:08 +0200	[thread overview]
Message-ID: <7fedb8c2-931f-406b-b46e-83bf3f452136@kernel.org> (raw)
In-Reply-To: <ee565fda-b230-4fb3-8122-e0a9248ef1d1@kernel.org>

Hi Hellwig,

I bisected my boot problem down to this commit:

$ git bisect good
af2814149883e2c1851866ea2afcd8eadc040f79 is the first bad commit
commit af2814149883e2c1851866ea2afcd8eadc040f79
Author: Christoph Hellwig <hch@lst.de>
Date:   Mon Jun 17 08:04:38 2024 +0200

     block: freeze the queue in queue_attr_store

     queue_attr_store updates attributes used to control generating I/O, and
     can cause malformed bios if changed with I/O in flight.  Freeze the 
queue
     in common code instead of adding it to almost every attribute.

     Signed-off-by: Christoph Hellwig <hch@lst.de>
     Reviewed-by: Bart Van Assche <bvanassche@acm.org>
     Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
     Reviewed-by: Hannes Reinecke <hare@suse.de>
     Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
     Link: https://lore.kernel.org/r/20240617060532.127975-12-hch@lst.de
     Signed-off-by: Jens Axboe <axboe@kernel.dk>

  block/blk-mq.c    | 5 +++--
  block/blk-sysfs.c | 9 ++-------
  2 files changed, 5 insertions(+), 9 deletions(-)

git describe --contains af2814149883e2c1851866ea2afcd8eadc040f79
v6.11-rc1~80^2~66^2~15


On 10/09/2024 16.49, Jesper Dangaard Brouer wrote:
> 
> 
> 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 17:53 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
2024-09-10 17:53     ` Jesper Dangaard Brouer [this message]
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=7fedb8c2-931f-406b-b46e-83bf3f452136@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=hch@infradead.org \
    --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.