mbox series

[00/12] Readdir enhancements

Message ID 20201102180658.6218-1-trondmy@kernel.org (mailing list archive)
Headers show
Series Readdir enhancements | expand

Message

Trond Myklebust Nov. 2, 2020, 6:06 p.m. UTC
From: Trond Myklebust <trond.myklebust@hammerspace.com>

The following patch series performs a number of cleanups on the readdir
code.
It also adds support for 1MB readdir RPC calls on-the-wire, and modifies
the caching code to ensure that we cache the entire contents of that
1MB call (instead of discarding the data that doesn't fit into a single
page).

Trond Myklebust (12):
  NFS: Ensure contents of struct nfs_open_dir_context are consistent
  NFS: Clean up readdir struct nfs_cache_array
  NFS: Clean up nfs_readdir_page_filler()
  NFS: Clean up directory array handling
  NFS: Don't discard readdir results
  NFS: Remove unnecessary kmap in nfs_readdir_xdr_to_array()
  NFS: Replace kmap() with kmap_atomic() in nfs_readdir_search_array()
  NFS: Simplify struct nfs_cache_array_entry
  NFS: Support larger readdir buffers
  NFS: More readdir cleanups
  NFS: nfs_do_filldir() does not return a value
  NFS: Reduce readdir stack usage

 fs/nfs/client.c        |   4 +-
 fs/nfs/dir.c           | 555 ++++++++++++++++++++++++-----------------
 fs/nfs/internal.h      |   6 -
 include/linux/nfs_fs.h |   1 -
 4 files changed, 325 insertions(+), 241 deletions(-)

Comments

David Wysochanski Nov. 2, 2020, 8:40 p.m. UTC | #1
On Mon, Nov 2, 2020 at 1:17 PM <trondmy@kernel.org> wrote:
>
> From: Trond Myklebust <trond.myklebust@hammerspace.com>
>
> The following patch series performs a number of cleanups on the readdir
> code.
> It also adds support for 1MB readdir RPC calls on-the-wire, and modifies
> the caching code to ensure that we cache the entire contents of that
> 1MB call (instead of discarding the data that doesn't fit into a single
> page).
>
> Trond Myklebust (12):
>   NFS: Ensure contents of struct nfs_open_dir_context are consistent
>   NFS: Clean up readdir struct nfs_cache_array
>   NFS: Clean up nfs_readdir_page_filler()
>   NFS: Clean up directory array handling
>   NFS: Don't discard readdir results
>   NFS: Remove unnecessary kmap in nfs_readdir_xdr_to_array()
>   NFS: Replace kmap() with kmap_atomic() in nfs_readdir_search_array()
>   NFS: Simplify struct nfs_cache_array_entry
>   NFS: Support larger readdir buffers
>   NFS: More readdir cleanups
>   NFS: nfs_do_filldir() does not return a value
>   NFS: Reduce readdir stack usage
>
>  fs/nfs/client.c        |   4 +-
>  fs/nfs/dir.c           | 555 ++++++++++++++++++++++++-----------------
>  fs/nfs/internal.h      |   6 -
>  include/linux/nfs_fs.h |   1 -
>  4 files changed, 325 insertions(+), 241 deletions(-)
>
> --
> 2.28.0
>

Nice to see these, especially
[PATCH 05/12] NFS: Don't discard readdir results

Are you testing these on top of 5.10-rc2 or something else?
Trond Myklebust Nov. 2, 2020, 9:32 p.m. UTC | #2
On Mon, 2020-11-02 at 15:40 -0500, David Wysochanski wrote:
> On Mon, Nov 2, 2020 at 1:17 PM <trondmy@kernel.org> wrote:
> > 
> > From: Trond Myklebust <trond.myklebust@hammerspace.com>
> > 
> > The following patch series performs a number of cleanups on the
> > readdir
> > code.
> > It also adds support for 1MB readdir RPC calls on-the-wire, and
> > modifies
> > the caching code to ensure that we cache the entire contents of
> > that
> > 1MB call (instead of discarding the data that doesn't fit into a
> > single
> > page).
> > 
> > Trond Myklebust (12):
> >   NFS: Ensure contents of struct nfs_open_dir_context are
> > consistent
> >   NFS: Clean up readdir struct nfs_cache_array
> >   NFS: Clean up nfs_readdir_page_filler()
> >   NFS: Clean up directory array handling
> >   NFS: Don't discard readdir results
> >   NFS: Remove unnecessary kmap in nfs_readdir_xdr_to_array()
> >   NFS: Replace kmap() with kmap_atomic() in
> > nfs_readdir_search_array()
> >   NFS: Simplify struct nfs_cache_array_entry
> >   NFS: Support larger readdir buffers
> >   NFS: More readdir cleanups
> >   NFS: nfs_do_filldir() does not return a value
> >   NFS: Reduce readdir stack usage
> > 
> >  fs/nfs/client.c        |   4 +-
> >  fs/nfs/dir.c           | 555 ++++++++++++++++++++++++-------------
> > ----
> >  fs/nfs/internal.h      |   6 -
> >  include/linux/nfs_fs.h |   1 -
> >  4 files changed, 325 insertions(+), 241 deletions(-)
> > 
> > --
> > 2.28.0
> > 
> 
> Nice to see these, especially
> [PATCH 05/12] NFS: Don't discard readdir results
> 
> Are you testing these on top of 5.10-rc2 or something else?
> 
They are being tested on 5.10-rc2.