]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit
UBUNTU: SAUCE: (noup) cxlflash: Fix to avoid virtual LUN failover failure
authorMatthew R. Ochs <mrochs@linux.vnet.ibm.com>
Tue, 27 Oct 2015 16:53:00 +0000 (11:53 -0500)
committerTim Gardner <tim.gardner@canonical.com>
Mon, 29 Feb 2016 15:53:51 +0000 (08:53 -0700)
commite3d15744e527876fe68d7336d5c83c442de84f82
treed6c3b45e77bcf82f852a313d472eed65e1177925
parent5c4de0a6c4c060d0aeef20979893914a7b304f65
UBUNTU: SAUCE: (noup) cxlflash: Fix to avoid virtual LUN failover failure

BugLink: http://bugs.launchpad.net/bugs/1513583
Applications which use virtual LUN's that are backed by a physical LUN
over both adapter ports may experience an I/O failure in the event of
a link loss (e.g. cable pull).

Virtual LUNs may be accessed through one or both ports of the adapter.
This access is encoded in the translation entries that comprise the
virtual LUN and used by the AFU for load-balancing I/O and handling
failover scenarios. In a link loss scenario, even though the AFU is
able to maintain connectivity to the LUN, it is up to the application
to retry the failed I/O. When applications are unaware of the virtual
LUN's underlying topology, they are unable to make a sound decision of
when to retry an I/O and therefore are forced to make their reaction to
a failed I/O absolute. The result is either a failure to retry I/O or
increased latency for scenarios where a retry is pointless.

To remedy this scenario, provide feedback back to the application on
virtual LUN creation as to which ports the LUN may be accessed. LUN's
spanning both ports are candidates for a retry in a presence of an I/O
failure.

Signed-off-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
drivers/scsi/cxlflash/vlun.c
include/uapi/scsi/cxlflash_ioctl.h