Linux SCSI gains native multipath as dm-mpath alternative
John Garry's v5 series folds multipath block devices into the SCSI core, driven by ALUA path state and unique VPD identities.
John Garry has posted a 27-patch series that adds native multipath support directly in the Linux SCSI stack, intended as an alternative to the long-standing device-mapper multipath (dm-mpath) layer.
The work exposes a single multipath-enabled SCSI block device instead of leaving path aggregation to a higher-level mapper. A SCSI disk qualifies when it carries a unique identifier in VPD page 83 and either advertises ALUA or the administrator forces multipath via a module parameter. Path preference and availability are read from the device's access state, the same ALUA-derived information the stack already tracks; full core ALUA without device handlers is planned as a follow-on.
Two new sysfs classes present the aggregated device and its member paths, including an I/O policy knob (NUMA-aware by default, with round-robin and queue-depth options) and links back to each underlying path. Per-path gendisks remain for submission but are hidden; the visible disk reuses ordinary sd naming and major/minor numbering so existing tools see a familiar block device. Failover clones and resubmits the original bio when a path error is detected, and blocked or unblocked paths trigger revalidation so queued I/O can move elsewhere.
Native multipath matters for operators who want fewer moving parts between the SCSI mid-layer and userspace: no separate dm table, tighter integration with SCSI state changes, and path policy that can account for host-level queue depth. The series is still under review on the kernel list and depends on the forthcoming ALUA core work before it can stand alone in production.