|
@@ -100,17 +100,15 @@ static const char *nbdcmd_to_ascii(int cmd)
|
|
|
|
|
|
static void nbd_end_request(struct request *req)
|
|
|
{
|
|
|
- int uptodate = (req->errors == 0) ? 1 : 0;
|
|
|
+ int error = req->errors ? -EIO : 0;
|
|
|
struct request_queue *q = req->q;
|
|
|
unsigned long flags;
|
|
|
|
|
|
dprintk(DBG_BLKDEV, "%s: request %p: %s\n", req->rq_disk->disk_name,
|
|
|
- req, uptodate? "done": "failed");
|
|
|
+ req, error ? "failed" : "done");
|
|
|
|
|
|
spin_lock_irqsave(q->queue_lock, flags);
|
|
|
- if (!end_that_request_first(req, uptodate, req->nr_sectors)) {
|
|
|
- end_that_request_last(req, uptodate);
|
|
|
- }
|
|
|
+ __blk_end_request(req, error, req->nr_sectors << 9);
|
|
|
spin_unlock_irqrestore(q->queue_lock, flags);
|
|
|
}
|
|
|
|