readahead: remove the limit max_sectors_kb imposed on max_readahead_kb

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 <jens.axboe@oracle.com>
Signed-off-by: Fengguang Wu <wfg@mail.ustc.edu.cn>
Acked-by: Jens Axboe <jens.axboe@oracle.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Fengguang Wu 2007-10-16 01:24:36 -07:00 committed by Linus Torvalds
parent 535443f515
commit f2e189827a

View file

@ -3928,7 +3928,6 @@ queue_max_sectors_store(struct request_queue *q, const char *page, size_t count)
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;
@ -3937,14 +3936,6 @@ queue_max_sectors_store(struct request_queue *q, const char *page, size_t count)
* 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);