From 84d3b6fdfedad7fa2a09a7ef901b5816cf3531e1 Mon Sep 17 00:00:00 2001 From: Kiyoshi Ueda Date: Tue, 11 Dec 2007 17:42:53 -0500 Subject: [PATCH] --- yaml --- r: 77609 b: refs/heads/master c: 4898b53a5e3e4b9a58f1d89545b1e05c88c76798 h: refs/heads/master i: 77607: 58fbad84a063d0808ff4f166ab5477e613264c98 v: v3 --- [refs] | 2 +- trunk/arch/um/drivers/ubd_kern.c | 16 ++++------------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 869dca564b87..bfd5dad70e95 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 650e9cfd14a1ac9e077d72962ea0a80946cdb6f8 +refs/heads/master: 4898b53a5e3e4b9a58f1d89545b1e05c88c76798 diff --git a/trunk/arch/um/drivers/ubd_kern.c b/trunk/arch/um/drivers/ubd_kern.c index b1a77b11f089..99f9f9605e9c 100644 --- a/trunk/arch/um/drivers/ubd_kern.c +++ b/trunk/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);