summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2013-01-30 09:26:16 +0000
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2013-07-01 17:31:22 +0200
commitd1ffc1f8660e749a2683f19ee7cfdd837568b37a (patch)
treed4a054ae9e2b19072ed32599e36feb52f7fc67e0 /block
parentf6f80340308cdcb84db45d3abf95f23d5b66051d (diff)
downloadlinux-d1ffc1f8660e749a2683f19ee7cfdd837568b37a.tar.gz
linux-d1ffc1f8660e749a2683f19ee7cfdd837568b37a.tar.xz
block/dasd: detailed I/O errors
The DASD driver is using FASTFAIL as an equivalent to the transport errors in SCSI. And the 'steal lock' function maps roughly to a reservation error. So we should be returning the appropriate error codes when completing a request. Acked-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Stefan Weinhuber <wein@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'block')
-rw-r--r--block/blk-core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index d5745b5833c9..321443226888 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -2315,6 +2315,9 @@ bool blk_update_request(struct request *req, int error, unsigned int nr_bytes)
case -EBADE:
error_type = "critical nexus";
break;
+ case -ETIMEDOUT:
+ error_type = "timeout";
+ break;
case -EIO:
default:
error_type = "I/O";