Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1381b7e82a52c4ae5ebb2ac0951075debb878a2a
Commit:     1381b7e82a52c4ae5ebb2ac0951075debb878a2a
Parent:     e935eb9dba66ce2533d06e459cf5bbfc17c9318b
Author:     Kiyoshi Ueda <[EMAIL PROTECTED]>
AuthorDate: Tue Dec 11 17:48:09 2007 -0500
Committer:  Jens Axboe <[EMAIL PROTECTED]>
CommitDate: Mon Jan 28 10:36:50 2008 +0100

    blk_end_request: changing i2o_block (take 4)
    
    This patch converts i2o_block to use blk_end_request interfaces.
    Related 'uptodate' arguments are converted to 'error'.
    
    As a result, the interface of internal function, i2o_block_end_request(),
    is changed.
    
    Cc: Markus Lidel <[EMAIL PROTECTED]>
    Signed-off-by: Kiyoshi Ueda <[EMAIL PROTECTED]>
    Signed-off-by: Jun'ichi Nomura <[EMAIL PROTECTED]>
    Signed-off-by: Jens Axboe <[EMAIL PROTECTED]>
---
 drivers/message/i2o/i2o_block.c |   20 ++++++++------------
 1 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/drivers/message/i2o/i2o_block.c b/drivers/message/i2o/i2o_block.c
index e4ad7a1..a953148 100644
--- a/drivers/message/i2o/i2o_block.c
+++ b/drivers/message/i2o/i2o_block.c
@@ -412,13 +412,13 @@ static void i2o_block_delayed_request_fn(struct 
work_struct *work)
 /**
  *     i2o_block_end_request - Post-processing of completed commands
  *     @req: request which should be completed
- *     @uptodate: 1 for success, 0 for I/O error, < 0 for specific error
+ *     @error: 0 for success, < 0 for error
  *     @nr_bytes: number of bytes to complete
  *
  *     Mark the request as complete. The lock must not be held when entering.
  *
  */
-static void i2o_block_end_request(struct request *req, int uptodate,
+static void i2o_block_end_request(struct request *req, int error,
                                  int nr_bytes)
 {
        struct i2o_block_request *ireq = req->special;
@@ -426,22 +426,18 @@ static void i2o_block_end_request(struct request *req, 
int uptodate,
        struct request_queue *q = req->q;
        unsigned long flags;
 
-       if (end_that_request_chunk(req, uptodate, nr_bytes)) {
+       if (blk_end_request(req, error, nr_bytes)) {
                int leftover = (req->hard_nr_sectors << KERNEL_SECTOR_SHIFT);
 
                if (blk_pc_request(req))
                        leftover = req->data_len;
 
-               if (end_io_error(uptodate))
-                       end_that_request_chunk(req, 0, leftover);
+               if (error)
+                       blk_end_request(req, -EIO, leftover);
        }
 
-       add_disk_randomness(req->rq_disk);
-
        spin_lock_irqsave(q->queue_lock, flags);
 
-       end_that_request_last(req, uptodate);
-
        if (likely(dev)) {
                dev->open_queue_depth--;
                list_del(&ireq->queue);
@@ -468,7 +464,7 @@ static int i2o_block_reply(struct i2o_controller *c, u32 m,
                           struct i2o_message *msg)
 {
        struct request *req;
-       int uptodate = 1;
+       int error = 0;
 
        req = i2o_cntxt_list_get(c, le32_to_cpu(msg->u.s.tcntxt));
        if (unlikely(!req)) {
@@ -501,10 +497,10 @@ static int i2o_block_reply(struct i2o_controller *c, u32 
m,
 
                req->errors++;
 
-               uptodate = 0;
+               error = -EIO;
        }
 
-       i2o_block_end_request(req, uptodate, le32_to_cpu(msg->body[1]));
+       i2o_block_end_request(req, error, le32_to_cpu(msg->body[1]));
 
        return 1;
 };
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to