From: Fengguang Wu Remove the size limit max_sectors_kb imposed on max_readahead_kb. The size restriction is unreasonable. Especially when max_sectors_kb cannot grow larger than max_hw_sectors_kb, which can be rather small for some disk drives. Cc: Jens Axboe Signed-off-by: Fengguang Wu Acked-by: Jens Axboe Cc: Rusty Russell Signed-off-by: Andrew Morton --- block/ll_rw_blk.c | 9 --------- 1 file changed, 9 deletions(-) diff -puN block/ll_rw_blk.c~readahead-remove-the-limit-max_sectors_kb-imposed-on-max_readahead_kb block/ll_rw_blk.c --- a/block/ll_rw_blk.c~readahead-remove-the-limit-max_sectors_kb-imposed-on-max_readahead_kb +++ a/block/ll_rw_blk.c @@ -3958,7 +3958,6 @@ queue_max_sectors_store(struct request_q max_hw_sectors_kb = q->max_hw_sectors >> 1, page_kb = 1 << (PAGE_CACHE_SHIFT - 10); ssize_t ret = queue_var_store(&max_sectors_kb, page, count); - int ra_kb; if (max_sectors_kb > max_hw_sectors_kb || max_sectors_kb < page_kb) return -EINVAL; @@ -3967,14 +3966,6 @@ queue_max_sectors_store(struct request_q * values synchronously: */ spin_lock_irq(q->queue_lock); - /* - * Trim readahead window as well, if necessary: - */ - ra_kb = q->backing_dev_info.ra_pages << (PAGE_CACHE_SHIFT - 10); - if (ra_kb > max_sectors_kb) - q->backing_dev_info.ra_pages = - max_sectors_kb >> (PAGE_CACHE_SHIFT - 10); - q->max_sectors = max_sectors_kb << 1; spin_unlock_irq(q->queue_lock); _