lkml.org 
[lkml]   [2012]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 7/7] blk: use correct sectors limitation for discard request
    On Mon, Mar 12, 2012 at 11:04:19AM +0800, Shaohua Li wrote:
    > max_discard_sectors doesn't equal to max_sectors/max_hw_sectors. Without this,
    > discard request merge might be ignored.
    >
    > Signed-off-by: Shaohua Li <shli@fusionio.com>
    > ---
    > block/blk-merge.c | 9 +++++++--
    > include/linux/blkdev.h | 5 +++++
    > 2 files changed, 12 insertions(+), 2 deletions(-)
    >
    > Index: linux/block/blk-merge.c
    > ===================================================================
    > --- linux.orig/block/blk-merge.c 2012-03-09 14:05:35.562062857 +0800
    > +++ linux/block/blk-merge.c 2012-03-09 14:07:55.432062246 +0800
    > @@ -228,13 +228,16 @@ no_merge:
    > int ll_back_merge_fn(struct request_queue *q, struct request *req,
    > struct bio *bio)
    > {
    > - unsigned short max_sectors;
    > + unsigned int max_sectors;
    >
    > if (unlikely(req->cmd_type == REQ_TYPE_BLOCK_PC))
    > max_sectors = queue_max_hw_sectors(q);
    > else
    > max_sectors = queue_max_sectors(q);
    >
    > + if (unlikely(req->cmd_flags & REQ_DISCARD))
    > + max_sectors = queue_max_discard_sectors(q);
    > +

    May be make above check an "else if" condition above instead of starting
    another "if" block.

    Thanks
    Vivek


    \
     
     \ /
      Last update: 2012-03-13 17:03    [W:0.084 / U:157.144 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site