[PATCH 0/9] dasd: implement block timeout

Martin Schwidefsky
2013-06-03T15:04:22Z

This is a re-send of a patch series Hannes sent last january. Stefan
looked at the patches and our tests went well, so I guess this is ready
for upstream integration.

The changes to block/blk-core.c and block/blk-timeout.c look good
to me, but I would like to request an acked-by from Jens for the
block layer parts in patch #6 and #7 of the series (pretty please :-)

The original patch description from Hannes:

This patch series implements a block timeout handler for
DASDs. The main impetus was to allow for a fixed upper
timeout value after which a request is aborted.
This is required eg when implementing a host-based
mirroring system where otherwise the entire mirror
would stall under certain circumstances.

Changes since v1:
- Fixed lock inversion in dasd_times_out()
- Checked for 'device->block' when writing to 'timeout' attribute
- Check against 'UINT_MAX' when verifying the 'timeout' value

Once I got the required acked-by I can carry the patch set in the
linux-s390 tree for the next merge window.

Hannes Reinecke (9):
dasd: Clarify comment
dasd: make number of retries configurable
dasd: process all requests in the device tasklet
dasd: Implement block timeout handling
dasd: Reduce amount of messages for specific errors
block,dasd: detailed I/O errors
block: check for timeout function in blk_rq_timed_out()
dasd: Add 'timeout' attribute
dasd: Fail all requests when DASD_FLAG_ABORTIO is set

arch/s390/include/uapi/asm/dasd.h | 4 ++
block/blk-core.c | 3 +
block/blk-timeout.c | 5 +-
drivers/s390/block/dasd.c | 115 +++++++++++++++++++++++++++++++++----
drivers/s390/block/dasd_devmap.c | 97 +++++++++++++++++++++++++++++++
drivers/s390/block/dasd_diag.c | 8 ++-
drivers/s390/block/dasd_eckd.c | 15 +++--
drivers/s390/block/dasd_erp.c | 8 +++
drivers/s390/block/dasd_fba.c | 10 +++-
drivers/s390/block/dasd_int.h | 10 ++++
drivers/s390/block/dasd_ioctl.c | 59 +++++++++++++++++++
11 files changed, 313 insertions(+), 21 deletions(-)

--
1.7.9.5