[LSF/MM/BPF TOPIC] Native SCSI multipath support

John Garry john.g.garry at oracle.com
Tue Mar 10 11:05:29 PDT 2026


On 10/03/2026 17:12, Ewan Milne wrote:
> Hi John-
> 
> Sorry, I was out for a couple of weeks and have been catching up...
> 
> Re: sg support, there were issues in the past with people attempting
> to do SG_IO through dm-mp
> assuming that DM would handle retry on other paths, which it didn't.
> You also have to be aware
> that non-idempotent commands don't work right if retried.  My
> recommendation would be to avoid
> implementing it, although there has been interest in a better way to
> do multipathed "generic"
> commands (e.g. virt pass-through) I think that is a more involved
> project than you want to do here.

Understood, my current plan is not have a multipathed sg driver - we 
will still have the per-scsi device/path sg device.

> 
> I see the discussion has progressed re: ALUA support in your later
> patch postings, which is good.
> As Hannes said, a Native SCSI MP would be useless without it.  You
> don't have to support the
> older non-ALUA mechanisms though, those arrays are way, way old.
> 
> SCSI does not have the equivalent of NVMe's AEN, so you need a way to
> ensure that your
> ALUA info is up-to-date.  DM-MP's path checker normally does this by
> sending commands on
> which the Unit Attention can be reported so that the code can fetch
> up-to-date ALUA info.
> Hannes made some optimizations years ago to avoid excessive RTPG
> commands with large
> numbers of LUNs which we would need also.

Hannes is suggesting to not have a kernel path checker, so let me know 
if any issue with that.

> 
> It will be necessary for the functionality to be enabled via a module
> option, at least initially.
> Introducing this in general use will be a big change for people who
> have Enterprise SAN
> configurations with their own custom path monitoring tools.  I believe
> we put some functionality
> into usespace multipath tools so e.g. Native NVMe devices can still be
> monitored/observed
> which made things a bit easier for people.
> 

Sure, if you check my patches, we disable by default and enable via a 
module param

cheers



More information about the Linux-nvme mailing list