[RFC 11/19] cachefiles: refactor cachefiles_prepare_read

From: Jeffle Xu
Date: Fri Dec 10 2021 - 02:37:11 EST


In demand-read mode, fs using fscache for demand-read doesn't know and
care the exact file size of the data blob file, and thus skip the file
size check in this case.

Signed-off-by: Jeffle Xu <jefflexu@xxxxxxxxxxxxxxxxx>
---
fs/cachefiles/io.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/cachefiles/io.c b/fs/cachefiles/io.c
index 60b1eac2ce78..95e9107dc3bb 100644
--- a/fs/cachefiles/io.c
+++ b/fs/cachefiles/io.c
@@ -341,7 +341,8 @@ static enum netfs_read_source cachefiles_prepare_read(struct netfs_read_subreque

_enter("%zx @%llx/%llx", subreq->len, subreq->start, i_size);

- if (subreq->start >= i_size) {
+ if (subreq->rreq->type == NETFS_TYPE_CACHE &&
+ subreq->start >= i_size) {
ret = NETFS_FILL_WITH_ZEROES;
why = cachefiles_trace_read_after_eof;
goto out_no_object;
--
2.27.0