|
@@ -73,13 +73,6 @@ tapeblock_trigger_requeue(struct tape_device *device)
|
|
/*
|
|
/*
|
|
* Post finished request.
|
|
* Post finished request.
|
|
*/
|
|
*/
|
|
-static void
|
|
|
|
-tapeblock_end_request(struct request *req, int error)
|
|
|
|
-{
|
|
|
|
- if (blk_end_request(req, error, blk_rq_bytes(req)))
|
|
|
|
- BUG();
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static void
|
|
static void
|
|
__tapeblock_end_request(struct tape_request *ccw_req, void *data)
|
|
__tapeblock_end_request(struct tape_request *ccw_req, void *data)
|
|
{
|
|
{
|
|
@@ -90,7 +83,7 @@ __tapeblock_end_request(struct tape_request *ccw_req, void *data)
|
|
|
|
|
|
device = ccw_req->device;
|
|
device = ccw_req->device;
|
|
req = (struct request *) data;
|
|
req = (struct request *) data;
|
|
- tapeblock_end_request(req, (ccw_req->rc == 0) ? 0 : -EIO);
|
|
|
|
|
|
+ blk_end_request_all(req, (ccw_req->rc == 0) ? 0 : -EIO);
|
|
if (ccw_req->rc == 0)
|
|
if (ccw_req->rc == 0)
|
|
/* Update position. */
|
|
/* Update position. */
|
|
device->blk_data.block_position =
|
|
device->blk_data.block_position =
|
|
@@ -118,7 +111,7 @@ tapeblock_start_request(struct tape_device *device, struct request *req)
|
|
ccw_req = device->discipline->bread(device, req);
|
|
ccw_req = device->discipline->bread(device, req);
|
|
if (IS_ERR(ccw_req)) {
|
|
if (IS_ERR(ccw_req)) {
|
|
DBF_EVENT(1, "TBLOCK: bread failed\n");
|
|
DBF_EVENT(1, "TBLOCK: bread failed\n");
|
|
- tapeblock_end_request(req, -EIO);
|
|
|
|
|
|
+ blk_end_request_all(req, -EIO);
|
|
return PTR_ERR(ccw_req);
|
|
return PTR_ERR(ccw_req);
|
|
}
|
|
}
|
|
ccw_req->callback = __tapeblock_end_request;
|
|
ccw_req->callback = __tapeblock_end_request;
|
|
@@ -131,7 +124,7 @@ tapeblock_start_request(struct tape_device *device, struct request *req)
|
|
* Start/enqueueing failed. No retries in
|
|
* Start/enqueueing failed. No retries in
|
|
* this case.
|
|
* this case.
|
|
*/
|
|
*/
|
|
- tapeblock_end_request(req, -EIO);
|
|
|
|
|
|
+ blk_end_request_all(req, -EIO);
|
|
device->discipline->free_bread(ccw_req);
|
|
device->discipline->free_bread(ccw_req);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -177,7 +170,7 @@ tapeblock_requeue(struct work_struct *work) {
|
|
DBF_EVENT(1, "TBLOCK: Rejecting write request\n");
|
|
DBF_EVENT(1, "TBLOCK: Rejecting write request\n");
|
|
blkdev_dequeue_request(req);
|
|
blkdev_dequeue_request(req);
|
|
spin_unlock_irq(&device->blk_data.request_queue_lock);
|
|
spin_unlock_irq(&device->blk_data.request_queue_lock);
|
|
- tapeblock_end_request(req, -EIO);
|
|
|
|
|
|
+ blk_end_request_all(req, -EIO);
|
|
spin_lock_irq(&device->blk_data.request_queue_lock);
|
|
spin_lock_irq(&device->blk_data.request_queue_lock);
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|