Bug 463389 - [LTC 6.0 FEAT] 201313:Block layer I/O cancel (abort) capability
[LTC 6.0 FEAT] 201313:Block layer I/O cancel (abort) capability
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel (Show other bugs)
ppc64 All
high Severity high
: alpha
: 6.0
Assigned To: Ameet Paranjape
Martin Jenner
: FutureFeature
Depends On:
Blocks: 356741 RHEL6Kernel2.6.27
  Show dependency treegraph
Reported: 2008-09-23 00:01 EDT by IBM Bug Proxy
Modified: 2010-10-18 10:26 EDT (History)
7 users (show)

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

Attachments (Terms of Use)

  None (edit)
Description IBM Bug Proxy 2008-09-23 00:01:02 EDT
=Comment: #0=================================================
Emily J. Ratliff <emilyr@us.ibm.com> - 2008-09-16 18:31 EDT
1. Feature Overview:
Feature Id:	[201313]
a. Name of Feature:	Block layer I/O cancel (abort) capability
b. Feature Description
A mechanism to request that a previously submitted block IO request be aborted or canceled has been
discussed in the IO community before. This capability would not only be useful for the xDR failover
capability, but has previous been requested for high availability device mapper RAID mirroring.

Additional Comments:	This feature will not make 2.6.27. Jens indicated that he would try to make
2.6.27, but then appears to have been out during the merge window. Ref

2. Feature Details:
Sponsor:	PPC

Arch Specificity: Purely Common Code
Affects Core Kernel: Yes
Affects Kernel Modules: Yes
Delivery Mechanism: Direct from community
Category:	Device Drivers and IO
Request Type:	Kernel - Enhancement from IBM
d. Upstream Acceptance:	In Progress
Sponsor Priority	1
f. Severity: High
IBM Confidential:	no
Code Contribution:	IBM code
g. Component Version Target:	2.6.27

3. Business Case
Certain environments, like real-time applications or HA/DR solutions, have requirements for specific
deadlines in regard of I/O, after which they consider an /IO to be failed according to their
specific QoS. These deadlines may be contradictory to the timeout behavior of current device
drivers. Since this behavior (timeout) can usually not be changed ad-hoc, depending on the current
situation, a mechanism is requested to cancel outstanding I/O - in addition to the SCSI specific
Abort-mechanism.  There are currently two potential exploiters for such a function - the IBM xDR
disaster recovery solution, and the IBM device-mapper based implementation of RAID1+ real-time
enhancements. The md based RAID1 solution included in SLES could also be augmented by real-time
capabilities, if such an infrastructure would be in place.

4. Primary contact at Red Hat: 
John Jarvis

5. Primary contacts at Partner:
Project Management Contact:
Stephanie Glass, sglass@us.ibm.com, 512-838-9284

Technical contact(s):
Mike Anderson, mike.anderson@us.ibm.com
Michael Anderson

IBM Manager:
Wendel Voigt, wvoigt@us.ibm.com
Comment 1 Bill Nottingham 2008-10-02 13:40:29 EDT
Putting in NEEDINFO pending upstream code acceptance.
Comment 2 IBM Bug Proxy 2009-03-04 02:11:01 EST
Code is upstream since v2.6.28

Commit 242f9dcb8ba6f68fcd217a119a7648a4f69290e9
There was commit fixes post the initial commit.
Comment 3 Bill Nottingham 2009-03-04 10:51:26 EST
OK, marking as MODIFIED.

The feature requested has already been accepted into the upstream code base
planned for the next major release of Red Hat Enterprise Linux.

When the next milestone release of Red Hat Enterprise Linux 6 is available,
please verify that the feature requested is present and functioning as
Comment 4 Kevin W Monroe 2009-11-12 18:24:55 EST
Closing as support is available in current release.
Comment 5 IBM Bug Proxy 2010-05-13 15:30:38 EDT
------- Comment From andmike@linux.vnet.ibm.com 2010-05-13 15:27 EDT-------
1.)  During testing on a power system a race between blk_abort_queue and the scsi_request_fn was discovered. Using a debug patch which injects blk_abort_queue calls every 5 seconds I am able to see a race on my lab system. I am working on a patch and I will post to linux-scsi shortly
Here is the post on the issue.

I am currently working this issue on linux-scsi.

2.) I also posted a bug fix to address a scsi command leak in the patch series listed below. I will try backport just this change and attach to this bug.

Comment 6 IBM Bug Proxy 2010-06-06 18:01:07 EDT
------- Comment From malahal@us.ibm.com 2010-06-06 17:52 EDT-------
tested with 'dmsetup message' and 'multipathd -k, followed by "fail path <path>"' commands to simulate failures. I see the SCSI layer immediately aborting commands from the messages in syslog.

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