[PATCH 0/2] nvme: fix regression with MD RAID

Hannes Reinecke hare at suse.de
Tue Feb 23 06:59:20 EST 2021


Hi all,

ever since the implementation NVMe-oF does not work together with MD RAID.
MD RAID expects the device to return an I/O error on failure, and to remove
the block device if the underlying hardware is removed.
This is contrary to the implementation of NVMe-oF, which will keep on retrying
I/O while the controller is being reset, and will only remove the block device
once the last _user_ is gone.

These patches fixup this situation by adding a new sysfs attribute
'fail_if_no_path'. When this attribute is set we will return I/O errors
as soon as no paths are available anymore, and will remove the block device
once the last controller holding a path to the namespace is removed (ie after
all reconnect attempts for that controllers are exhausted).

This is a rework of the earlier path by Keith Busch ('nvme-mpath: delete disk
after last connection'). Kudos to him for suggesting this approach.

Hannes Reinecke (2):
  nvme: add 'fail_if_no_path' sysfs attribute
  nvme: delete disk when last path is gone

 drivers/nvme/host/core.c      |  6 +++++
 drivers/nvme/host/multipath.c | 46 ++++++++++++++++++++++++++++++++---
 drivers/nvme/host/nvme.h      | 19 +++++++++++++--
 3 files changed, 66 insertions(+), 5 deletions(-)

-- 
2.29.2




More information about the Linux-nvme mailing list