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 04:36:02 -0500 |
commit | 4898b53a5e3e4b9a58f1d89545b1e05c88c76798 (patch) | |
tree | 54de3c84285a414075936a6f2d495861341c8595 | |
parent | 650e9cfd14a1ac9e077d72962ea0a80946cdb6f8 (diff) |
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>
-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 b1a77b11f089..99f9f9605e9c 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); | |||
475 | /* Only changed by ubd_init, which is an initcall. */ | 475 | /* Only changed by ubd_init, which is an initcall. */ |
476 | int thread_fd = -1; | 476 | int thread_fd = -1; |
477 | 477 | ||
478 | static void ubd_end_request(struct request *req, int bytes, int uptodate) | 478 | static void ubd_end_request(struct request *req, int bytes, int error) |
479 | { | 479 | { |
480 | if (!end_that_request_first(req, uptodate, bytes >> 9)) { | 480 | blk_end_request(req, error, bytes); |
481 | struct ubd *dev = req->rq_disk->private_data; | ||
482 | unsigned long flags; | ||
483 | |||
484 | add_disk_randomness(req->rq_disk); | ||
485 | spin_lock_irqsave(&dev->lock, flags); | ||
486 | end_that_request_last(req, uptodate); | ||
487 | spin_unlock_irqrestore(&dev->lock, flags); | ||
488 | } | ||
489 | } | 481 | } |
490 | 482 | ||
491 | /* Callable only from interrupt context - otherwise you need to do | 483 | /* 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) | |||
493 | static inline void ubd_finish(struct request *req, int bytes) | 485 | static inline void ubd_finish(struct request *req, int bytes) |
494 | { | 486 | { |
495 | if(bytes < 0){ | 487 | if(bytes < 0){ |
496 | ubd_end_request(req, 0, 0); | 488 | ubd_end_request(req, 0, -EIO); |
497 | return; | 489 | return; |
498 | } | 490 | } |
499 | ubd_end_request(req, bytes, 1); | 491 | ubd_end_request(req, bytes, 0); |
500 | } | 492 | } |
501 | 493 | ||
502 | static LIST_HEAD(restart); | 494 | static LIST_HEAD(restart); |