• H
    s390/dasd: Fail all requests when DASD_FLAG_ABORTIO is set · 5ea34a01
    Hannes Reinecke 提交于
    Whenever a DASD request encounters a timeout we might
    need to abort all outstanding requests on this or
    even other devices.
    
    This is especially useful if one wants to fail all
    devices on one side of a RAID10 configuration, even
    though only one device exhibited an error.
    
    To handle this I've introduced a new device flag
    DASD_FLAG_ABORTIO.
    This flag is evaluated in __dasd_process_request_queue()
    and will invoke blk_abort_request() for all
    outstanding requests with DASD_CQR_FLAGS_FAILFAST set.
    This will cause any of these requests to be aborted
    immediately if the blk_timeout function is activated.
    
    The DASD_FLAG_ABORTIO is also evaluated in
    __dasd_process_request_queue to abort all
    new request which would have the
    DASD_CQR_FLAGS_FAILFAST bit set.
    
    The flag can be set with the new ioctls 'BIODASDABORTIO'
    and removed with 'BIODASDALLOWIO'.
    Signed-off-by: NHannes Reinecke <hare@suse.de>
    Signed-off-by: NStefan Weinhuber <wein@de.ibm.com>
    Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
    5ea34a01
dasd_ioctl.c 13.7 KB