diff options
author | Kiyoshi Ueda <k-ueda@ct.jp.nec.com> | 2007-12-11 17:42:53 -0500 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2008-01-28 10:36:02 +0100 |
commit | 4898b53a5e3e4b9a58f1d89545b1e05c88c76798 (patch) | |
tree | 54de3c84285a414075936a6f2d495861341c8595 /arch/um/drivers/ubd_kern.c | |
parent | 650e9cfd14a1ac9e077d72962ea0a80946cdb6f8 (diff) | |
download | op-kernel-dev-4898b53a5e3e4b9a58f1d89545b1e05c88c76798.zip op-kernel-dev-4898b53a5e3e4b9a58f1d89545b1e05c88c76798.tar.gz |
blk_end_request: changing um (take 4)
This patch converts um to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.
As a result, the interface of internal function, ubd_end_request(),
is changed.
Cc: Jeff Dike <jdike@karaya.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>
Diffstat (limited to 'arch/um/drivers/ubd_kern.c')
-rw-r--r-- | arch/um/drivers/ubd_kern.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c index b1a77b1..99f9f96 100644 --- a/arch/um/drivers/ubd_kern.c +++ b/arch/um/drivers/ubd_kern.c @@ -475,17 +475,9 @@ static void do_ubd_request(struct request_queue * q); /* Only changed by ubd_init, which is an initcall. */ int thread_fd = -1; -static void ubd_end_request(struct request *req, int bytes, int uptodate) +static void ubd_end_request(struct request *req, int bytes, int error) { - if (!end_that_request_first(req, uptodate, bytes >> 9)) { - struct ubd *dev = req->rq_disk->private_data; - unsigned long flags; - - add_disk_randomness(req->rq_disk); - spin_lock_irqsave(&dev->lock, flags); - end_that_request_last(req, uptodate); - spin_unlock_irqrestore(&dev->lock, flags); - } + blk_end_request(req, error, bytes); } /* Callable only from interrupt context - otherwise you need to do @@ -493,10 +485,10 @@ static void ubd_end_request(struct request *req, int bytes, int uptodate) static inline void ubd_finish(struct request *req, int bytes) { if(bytes < 0){ - ubd_end_request(req, 0, 0); + ubd_end_request(req, 0, -EIO); return; } - ubd_end_request(req, bytes, 1); + ubd_end_request(req, bytes, 0); } static LIST_HEAD(restart); |