mirror of https://gitee.com/openkylin/linux.git
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: Kiyoshi Ueda <k-ueda@ct.jp.nec.com> Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
parent
097c94a4e8
commit
f01ab252cb
|
@ -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)
|
||||||
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);
|
||||||
|
|
Loading…
Reference in New Issue