[PATCH 0/4] cifs: Use fscache I/O again after the rewrite disabled it

From: David Howells
Date: Thu Jan 27 2022 - 11:02:41 EST



Hi Steve,

Here are some patches to make cifs actually do I/O to the cache after it
got disabled in the fscache rewrite[1] plus a warning fix that you might
want to detach and take separately:

(1) Fix a kernel doc warning.

(2) Change cifs from using ->readpages() to using ->readahead().

(3) Provide a netfs cache op to query for the presence of data in the
cache.[*]

(4) Make ->readahead() call

The patches can be found here also:

https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=fscache-rewrite

David

[*] Ideally, we would use the netfslib read helpers, but it's probably better
to roll iterators down into cifs's I/O layer before doing that[2].

Link: https://lore.kernel.org/r/164021479106.640689.17404516570194656552.stgit@xxxxxxxxxxxxxxxxxxxxxx/ [1]
Link: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=cifs-experimental [2]

---
David Howells (4):
Fix a warning about a malformed kernel doc comment in cifs by removing the
cifs: Transition from ->readpages() to ->readahead()
netfs, cachefiles: Add a method to query presence of data in the cache
cifs: Implement cache I/O by accessing the cache directly


Documentation/filesystems/netfs_library.rst | 16 ++
fs/cachefiles/io.c | 59 ++++++
fs/cifs/connect.c | 2 +-
fs/cifs/file.c | 221 ++++++++------------
fs/cifs/fscache.c | 126 +++++++++--
fs/cifs/fscache.h | 79 ++++---
include/linux/netfs.h | 7 +
7 files changed, 322 insertions(+), 188 deletions(-)