Xiubo Li dc94bb8f27 ceph: fix blindly expanding the readahead windows
Blindly expanding the readahead windows will cause unneccessary
pagecache thrashing and also will introduce the network workload.
We should disable expanding the windows if the readahead is disabled
and also shouldn't expand the windows too much.

Expanding forward firstly instead of expanding backward for possible
sequential reads.

Bound `rreq->len` to the actual file size to restore the previous page
cache usage.

The posix_fadvise may change the maximum size of a file readahead.

Cc: stable@vger.kernel.org
Fixes: 49870056005c ("ceph: convert ceph_readpages to ceph_readahead")
Link: https://lore.kernel.org/ceph-devel/20230504082510.247-1-sehuww@mail.scut.edu.cn
Link: https://www.spinics.net/lists/ceph-users/msg76183.html
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-and-tested-by: Hu Weiwen <sehuww@mail.scut.edu.cn>
Reviewed-by: Milind Changire <mchangir@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2023-06-30 12:08:55 +02:00
..
2023-05-05 19:12:01 -07:00
2023-02-20 14:10:36 -08:00
2023-06-23 16:09:53 -07:00
2023-04-27 16:52:33 -07:00
2023-02-27 10:04:49 -08:00
2023-04-26 16:07:23 -07:00
2023-03-01 08:42:27 -08:00
\n
2023-04-26 09:07:46 -07:00
2023-04-26 09:42:10 -07:00
2023-04-27 11:53:57 -07:00
2023-04-29 10:35:48 -07:00
2023-04-24 19:20:27 -07:00
2023-04-27 11:53:57 -07:00
2023-05-17 09:56:01 -07:00
2023-06-02 13:38:55 -04:00
2023-04-29 10:52:37 -07:00
2023-04-27 17:03:40 -07:00
2023-03-14 12:56:30 -06:00
\n
2023-04-26 09:07:46 -07:00
2023-03-12 20:03:41 -04:00
2023-03-30 08:51:48 +02:00
2023-04-08 13:45:37 -07:00
2022-08-20 11:34:33 -04:00
2023-04-05 18:06:23 -07:00
2022-10-10 19:45:17 -07:00
2023-04-28 15:57:53 -07:00
2023-02-20 11:53:11 -08:00
2023-05-06 08:28:58 -07:00
2022-10-10 14:21:11 -07:00
2023-01-19 09:24:30 +01:00
2023-04-24 19:14:20 -07:00
2023-04-06 14:53:38 +02:00
2023-03-06 09:59:20 +01:00
2023-05-06 08:15:20 -07:00
2023-02-20 11:53:11 -08:00
2023-02-20 11:53:11 -08:00