summaryrefslogtreecommitdiff
path: root/drivers/block
diff options
context:
space:
mode:
authorShaohua Li <shli@fb.com>2017-08-31 22:09:45 -0700
committerAmit Pundir <amit.pundir@linaro.org>2018-12-10 22:31:43 +0530
commit3c24e1d1942ac304bd5543713e1589b121ab4f8c (patch)
treed0690afd01cce4f9991a2adac41031c752250fa5 /drivers/block
parent38817184921d147d3faddbf6980396163dd14689 (diff)
BACKPORT: block/loop: set hw_sectors
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. Bug: 117823094 Change-Id: Ic4957181433c5a0d15f4cfdbf69dc5558d6dc5bd Reviewed-by: Omar Sandoval <osandov@fb.com> Reviewed-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Shaohua Li <shli@fb.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> (cherry picked from commit 54bb0ade6627a183c211345761ec46e4bf0048fe) Signed-off-by: Martijn Coenen <maco@android.com> (cherry picked from commit 8567ea359cabc9805fb9fae457c0f8df3a2b9341) Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/loop.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index b98797682fe7..3dc48abd22e8 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -1813,6 +1813,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.