]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
dm: do not allow readahead to limit IO size
authorJaegeuk Kim <jaegeuk@kernel.org>
Tue, 18 Dec 2018 17:25:37 +0000 (09:25 -0800)
committerMike Snitzer <snitzer@redhat.com>
Tue, 18 Dec 2018 19:23:41 +0000 (14:23 -0500)
Update DM to set the bdi's io_pages.  This fixes reads to be capped at
the device's max request size (even if user's read IO exceeds the
established readahead setting).

Fixes: 9491ae4a ("mm: don't cap request size based on read-ahead setting")
Cc: stable@vger.kernel.org
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-table.c

index 844f7d0f2ef84b76b224f956cc0d24bb6f266902..4b1be754cc41802cda0c810e298a4a8b833de4b1 100644 (file)
@@ -1927,6 +1927,9 @@ void dm_table_set_restrictions(struct dm_table *t, struct request_queue *q,
         */
        if (blk_queue_is_zoned(q))
                blk_revalidate_disk_zones(t->md->disk);
+
+       /* Allow reads to exceed readahead limits */
+       q->backing_dev_info->io_pages = limits->max_sectors >> (PAGE_SHIFT - 9);
 }
 
 unsigned int dm_table_get_num_targets(struct dm_table *t)