Bug 433498 - [RFE] device-mapper: improve integration between device-mapper-multipath and SCSI layer
Summary: [RFE] device-mapper: improve integration between device-mapper-multipath and ...
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel   
(Show other bugs)
Version: 6.0
Hardware: All
OS: Linux
Target Milestone: rc
: ---
Assignee: LVM and device-mapper development team
QA Contact: Barry Donahue
Keywords: FutureFeature, Triaged
Depends On:
Blocks: 534151
TreeView+ depends on / blocked
Reported: 2008-02-19 17:41 UTC by Bryn M. Reeves
Modified: 2018-10-27 12:57 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2010-11-11 16:05:52 UTC
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 11:58 UTC, Bryn M. Reeves
no flags Details

Description Bryn M. Reeves 2008-02-19 17:41:26 UTC
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 11:57:18 UTC
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 11:58:21 UTC
Created attachment 394892 [details]
Headers from the request-based dm patches merged upstream

Comment 14 Mike Snitzer 2010-02-18 14:54:34 UTC
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 15:00:30 UTC

Comment 18 releng-rhel@redhat.com 2010-11-11 16:05:52 UTC
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.