On Wed, Aug 23, 2017 at 04:49:23PM -0700, Shaohua Li wrote: > From: Shaohua Li <shli@xxxxxx> > > Loop can handle any size of request. Limiting it to 255 sectors just > burns the CPU for bio split and request merge for underlayer disk and > also cause bad fs block allocation in directio mode. Reviewed-by: Omar Sandoval <osandov@xxxxxx> Note that this will conflict with my loop blocksize series, we can fix up whichever series goes in second. > Signed-off-by: Shaohua Li <shli@xxxxxx> > --- > drivers/block/loop.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/block/loop.c b/drivers/block/loop.c > index b55a1f8..428da07 100644 > --- a/drivers/block/loop.c > +++ b/drivers/block/loop.c > @@ -1799,6 +1799,7 @@ static int loop_add(struct loop_device **l, int i) > } > lo->lo_queue->queuedata = lo; > > + blk_queue_max_hw_sectors(lo->lo_queue, BLK_DEF_MAX_SECTORS); > /* > * It doesn't make sense to enable merge because the I/O > * submitted to backing file is handled page by page. > -- > 2.9.5 >