summaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/dasd_diag.c
diff options
context:
space:
mode:
authorHolger Smolinski <Holger.Smolinski@de.ibm.com>2009-01-09 12:14:51 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-01-09 12:15:05 +0100
commit13de227bcd80fbdaeebe1f31154487dddb7d5b1e (patch)
tree3f37f92d9fd5dd3c155544afb06cfe8117ec708c /drivers/s390/block/dasd_diag.c
parent[S390] dasd: send change uevents for dasd block devices (diff)
downloadlinux-13de227bcd80fbdaeebe1f31154487dddb7d5b1e.tar.xz
linux-13de227bcd80fbdaeebe1f31154487dddb7d5b1e.zip
[S390] dasd: add device attribute to disable blocking on lost paths
When the connection between host and storage server is lost, the dasd device driver usually blocks all I/O on affected devices and waits for them to reappear. In some setups however it would be better if the I/O is returned as error so that device can be recovered by some other means, eg. in a raid or multipath setup. Signed-off-by: Holger Smolinski <Holger.Smolinski@de.ibm.com> Signed-off-by: Stefan Weinhuber <wein@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/block/dasd_diag.c')
-rw-r--r--drivers/s390/block/dasd_diag.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/s390/block/dasd_diag.c b/drivers/s390/block/dasd_diag.c
index 7844461a995b..ef2a56952054 100644
--- a/drivers/s390/block/dasd_diag.c
+++ b/drivers/s390/block/dasd_diag.c
@@ -544,7 +544,8 @@ static struct dasd_ccw_req *dasd_diag_build_cp(struct dasd_device *memdev,
}
cqr->retries = DIAG_MAX_RETRIES;
cqr->buildclk = get_clock();
- if (blk_noretry_request(req))
+ if (blk_noretry_request(req) ||
+ block->base->features & DASD_FEATURE_FAILFAST)
set_bit(DASD_CQR_FLAGS_FAILFAST, &cqr->flags);
cqr->startdev = memdev;
cqr->memdev = memdev;