Message ID | 20211210073619.21667-12-jefflexu@linux.alibaba.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fscache,erofs: fscache-based demand-read semantics | expand |
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;
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@linux.alibaba.com> --- fs/cachefiles/io.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)