Bug 433498 - [RFE] device-mapper: improve integration between device-mapper-multipath and SCSI layer
[RFE] device-mapper: improve integration between device-mapper-multipath and ...
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel (Show other bugs)
All Linux
medium Severity medium
: rc
: ---
Assigned To: LVM and device-mapper development team
Barry Donahue
: FutureFeature, Triaged
Depends On:
Blocks: 534151
  Show dependency treegraph
Reported: 2008-02-19 12:41 EST by Bryn M. Reeves
Modified: 2010-11-11 11:05 EST (History)
12 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2010-11-11 11:05:52 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Headers from the request-based dm patches merged upstream (21.98 KB, text/plain)
2010-02-18 06:58 EST, Bryn M. Reeves
no flags Details

  None (edit)
Description Bryn M. Reeves 2008-02-19 12:41:26 EST
Description of problem:
Currently, the SCSI sense data returned by the host/target/driver layer on an
I/O error is not made available to device-mapper since the latter operates at
the bio layer rather than at the request level.

Having access to the sense buffer would allow dm-mpio to make more informed
decisions when an error occurs, for example, avoiding failing a path entirely if
the sense data indicates a transient error that the host should retry immediately.

Patches have been proposed to implement this but have not been merged upstream.
Further work is ongoing to find a solution that provides this functionality & is
acceptable upstream.

This bugzilla is to track the possible inclusion of such functionality in RHEL6.
Comment 12 Bryn M. Reeves 2010-02-18 06:57:18 EST
Hey Piyush,

This is based on the patches from Kiyoshi Ueda and Jun'ichi Nomura from NEC that are already upstream and in Fedora. You can find some discussion of this in the proceedings of the 2007 Ottawa Linux Symposium here:


There's also an old LWN article here that contains some of Kiyoshi's posts on the subject:


There are more recent threads that you can find in the archives, e.g. the posting of the patch series that ended up getting merged.

If you're interested in the upstream commits that introduced these changes the following commits (in Linus' tree, linux-2.6.git) provide the history:


For convenience I'll post the patch headers in a follow-on comment.
Comment 13 Bryn M. Reeves 2010-02-18 06:58:21 EST
Created attachment 394892 [details]
Headers from the request-based dm patches merged upstream
Comment 14 Mike Snitzer 2010-02-18 09:54:34 EST
Request-based DM multipath does not change multipath-tools at all.  Though the user can choose to make use of 2 new path selectors that were introduced along with request-based DM multipath.

Here are more details on the new path-selectors; from the RHEL6 (alpha2) release notes:

8.  Storage

8.1 Dynamic Load Balancing Added to device-mapper-multipath.
Two new load balancing algorithms have been added to device-mapper-multipath.
One performs path selection based the observed queue depth at each path. The
other selects the path based on the measured service time for previous I/O on
the paths.

The path-selector that is used is configured in /etc/multipath.conf. This is
done in the 'defaults' section (applies to all mpath devices) by setting
"selector" to "queue-length 0" or "service-time 0" or "round-robin 0". For

       selector                "queue-length 0"

This can also be done for specific multipath devices in the 'device' section
by setting the "path_selector" value. For example:

               path_selector   "service-time 0"

If no selector is specified, it defaults to "round-robin 0".
Comment 17 Barry Donahue 2010-10-05 11:00:30 EDT
Comment 18 releng-rhel@redhat.com 2010-11-11 11:05:52 EST
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.

Note You need to log in before you can comment on or make changes to this bug.