Commit f01ab252 authored by Kiyoshi Ueda's avatar Kiyoshi Ueda Committed by Jens Axboe

blk_end_request: changing ps3disk (take 4)

This patch converts ps3disk to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

Cc: Geoff Levand <geoffrey.levand@am.sony.com>
Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: default avatarKiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: default avatarJun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent 097c94a4
...@@ -229,7 +229,7 @@ static irqreturn_t ps3disk_interrupt(int irq, void *data) ...@@ -229,7 +229,7 @@ static irqreturn_t ps3disk_interrupt(int irq, void *data)
struct ps3_storage_device *dev = data; struct ps3_storage_device *dev = data;
struct ps3disk_private *priv; struct ps3disk_private *priv;
struct request *req; struct request *req;
int res, read, uptodate; int res, read, error;
u64 tag, status; u64 tag, status;
unsigned long num_sectors; unsigned long num_sectors;
const char *op; const char *op;
...@@ -270,21 +270,17 @@ static irqreturn_t ps3disk_interrupt(int irq, void *data) ...@@ -270,21 +270,17 @@ static irqreturn_t ps3disk_interrupt(int irq, void *data)
if (status) { if (status) {
dev_dbg(&dev->sbd.core, "%s:%u: %s failed 0x%lx\n", __func__, dev_dbg(&dev->sbd.core, "%s:%u: %s failed 0x%lx\n", __func__,
__LINE__, op, status); __LINE__, op, status);
uptodate = 0; error = -EIO;
} else { } else {
dev_dbg(&dev->sbd.core, "%s:%u: %s completed\n", __func__, dev_dbg(&dev->sbd.core, "%s:%u: %s completed\n", __func__,
__LINE__, op); __LINE__, op);
uptodate = 1; error = 0;
if (read) if (read)
ps3disk_scatter_gather(dev, req, 0); ps3disk_scatter_gather(dev, req, 0);
} }
spin_lock(&priv->lock); spin_lock(&priv->lock);
if (!end_that_request_first(req, uptodate, num_sectors)) { __blk_end_request(req, error, num_sectors << 9);
add_disk_randomness(req->rq_disk);
blkdev_dequeue_request(req);
end_that_request_last(req, uptodate);
}
priv->req = NULL; priv->req = NULL;
ps3disk_do_request(dev, priv->queue); ps3disk_do_request(dev, priv->queue);
spin_unlock(&priv->lock); spin_unlock(&priv->lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment