[PATCH] drivers/nvme/host/pci: Fix the asynchronous detection issue of nvme devices

likunyu10 posted 1 patch 2 months, 2 weeks ago
drivers/nvme/host/pci.c | 1 -
1 file changed, 1 deletion(-)
[PATCH] drivers/nvme/host/pci: Fix the asynchronous detection issue of nvme devices
Posted by likunyu10 2 months, 2 weeks ago
From: likunyu15 <likunyu15@jd.com>

PROBE_PREFER_ASYNCHRONOUS asynchronous detection has a significant impact
on important devices. For example, if a server has two or more nvme disk
devices, it can cause disk loading disorder, which can also have a
certain impact on actual production environments.

Signed-off-by: likunyu15 <likunyu15@jd.com>
---
 drivers/nvme/host/pci.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 320aaa41ec39..c7f90621e633 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -3832,7 +3832,6 @@ static struct pci_driver nvme_driver = {
 	.remove		= nvme_remove,
 	.shutdown	= nvme_shutdown,
 	.driver		= {
-		.probe_type	= PROBE_PREFER_ASYNCHRONOUS,
 #ifdef CONFIG_PM_SLEEP
 		.pm		= &nvme_dev_pm_ops,
 #endif
-- 
2.41.0
Re: [PATCH] drivers/nvme/host/pci: Fix the asynchronous detection issue of nvme devices
Posted by Bart Van Assche 2 months, 1 week ago
On 7/20/25 11:51 AM, likunyu10 wrote:
> PROBE_PREFER_ASYNCHRONOUS asynchronous detection has a significant impact
> on important devices. For example, if a server has two or more nvme disk
> devices, it can cause disk loading disorder, which can also have a
> certain impact on actual production environments.

That's intentional. Please fix your user space code that uses hard-coded
NVMe block device names or introduce a mechanism in user space for block
devices that is similar to the predictable network interface names
mechanism. See also https://systemd.io/PREDICTABLE_INTERFACE_NAMES/.

Bart.
Re: [PATCH] drivers/nvme/host/pci: Fix the asynchronous detection issue of nvme devices
Posted by Damien Le Moal 2 months, 1 week ago
On 7/25/25 01:07, Bart Van Assche wrote:
> On 7/20/25 11:51 AM, likunyu10 wrote:
>> PROBE_PREFER_ASYNCHRONOUS asynchronous detection has a significant impact
>> on important devices. For example, if a server has two or more nvme disk
>> devices, it can cause disk loading disorder, which can also have a
>> certain impact on actual production environments.
> 
> That's intentional. Please fix your user space code that uses hard-coded
> NVMe block device names or introduce a mechanism in user space for block
> devices that is similar to the predictable network interface names
> mechanism. See also https://systemd.io/PREDICTABLE_INTERFACE_NAMES/.

Userspace can use /dev/disk/by-id or any of the other /dev/disk/by-* for
reliable device names. Using directly /dev/sd* or /dev/nvme* is bad userspace
practice.

Even without asynchronous device scan, adding or removing a device to a system
can change device file names. The symlinks in /dev/disk/by-id are stable and
will exist as long as a device is present.


-- 
Damien Le Moal
Western Digital Research