lkml.org 
[lkml]   [2009]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 07/12] ubd: drop unnecessary rq->sector manipulation
    Date
    ubd curiously updates rq->sector while issuing the request in multiple
    pieces. Don't do it and simply use local copy of sector.

    [ Impact: cleanup ]

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Cc: Jeff Dike <jdike@linux.intel.com>
    ---
    arch/um/drivers/ubd_kern.c | 10 +++++-----
    1 files changed, 5 insertions(+), 5 deletions(-)

    diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c
    index 36ca9fa..d100af4 100644
    --- a/arch/um/drivers/ubd_kern.c
    +++ b/arch/um/drivers/ubd_kern.c
    @@ -1222,7 +1222,8 @@ static void do_ubd_request(struct request_queue *q)
    {
    struct io_thread_req *io_req;
    struct request *req;
    - int n, last_sectors;
    + sector_t sector;
    + int n;

    while(1){
    struct ubd *dev = q->queuedata;
    @@ -1238,11 +1239,10 @@ static void do_ubd_request(struct request_queue *q)
    }

    req = dev->request;
    - last_sectors = 0;
    + sector = rq->sector;
    while(dev->start_sg < dev->end_sg){
    struct scatterlist *sg = &dev->sg[dev->start_sg];

    - req->sector += last_sectors;
    io_req = kmalloc(sizeof(struct io_thread_req),
    GFP_ATOMIC);
    if(io_req == NULL){
    @@ -1251,10 +1251,10 @@ static void do_ubd_request(struct request_queue *q)
    return;
    }
    prepare_request(req, io_req,
    - (unsigned long long) req->sector << 9,
    + (unsigned long long)sector << 9,
    sg->offset, sg->length, sg_page(sg));

    - last_sectors = sg->length >> 9;
    + sector += sg->length >> 9;
    n = os_write_file(thread_fd, &io_req,
    sizeof(struct io_thread_req *));
    if(n != sizeof(struct io_thread_req *)){
    --
    1.6.0.2


    \
     
     \ /
      Last update: 2009-04-23 14:33    [W:0.023 / U:0.280 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site