mbox series

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

Message ID 164329930161.843658.7387773437540491743.stgit@warthog.procyon.org.uk (mailing list archive)
Headers show
Series cifs: Use fscache I/O again after the rewrite disabled it | expand

Message

David Howells Jan. 27, 2022, 4:01 p.m. UTC
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@warthog.procyon.org.uk/ [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(-)

Comments

David Howells Jan. 27, 2022, 4:09 p.m. UTC | #1
>  (4) Make ->readahead() call

 (4) Make cifs_readahead() call into the cache to query if and where is has
     data available, and if it has, read data from it.

David
Jeffrey Layton Jan. 28, 2022, 10:58 a.m. UTC | #2
On Thu, 2022-01-27 at 16:01 +0000, David Howells wrote:
> 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@warthog.procyon.org.uk/ [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(-)
> 
> 

Acked-by: Jeff Layton <jlayton@kernel.org>