Re: [PATCH v3 00/15] nfsd_dispatch() clean up

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm seeing a pynfs4.0 GATT9 regression.  That's a test that attempts a
compound with 90 GETATTR ops each a request for all mandatory
attributes.  The test expects OK or RESOURCE but looks like its getting
a corrupted response?  (I haven't looked at the wire traffic yet.)  I
think it's one of the final patches changing how errors are returned.

--b.

On Thu, Oct 01, 2020 at 06:58:46PM -0400, Chuck Lever wrote:
> Hi Bruce-
> 
> Here's the latest version of the nfsd_dispatch clean up series,
> building on the "non-controversial" patches I posted last week.
> 
> The purpose of this series is three-fold:
> 
> o Prepare to add NFS procedure tracepoints
> o Prepare to eventually deprecate NFSv2
> o Minor optimizations of the dispatcher hot path
> 
> 
> Changes since v2:
> - Fixed crasher caused by invoking NFSv2 ROOT or WRITECACHE
> - Hoisted encoding of NFS status code into XDR Reply encoders
> - Numerous bug fixes, clean ups, and patch re-ordering
> 
> Changes since v1:
> - Pulled in latest version of rq_lease_breaker cleanup
> - Added patches to make NFSv2 error encoding similar to NFSv3
> - Clarified nfsd_dispatch's new documenting comment
> - Renamed a variable
> 
> ---
> 
> Chuck Lever (14):
>       NFSD: Add missing NFSv2 .pc_func methods
>       lockd: Replace PROC() macro with open code
>       NFSACL: Replace PROC() macro with open code
>       NFSD: Encoder and decoder functions are always present
>       NFSD: Clean up switch statement in nfsd_dispatch()
>       NFSD: Clean up stale comments in nfsd_dispatch()
>       NFSD: Clean up nfsd_dispatch() variables
>       NFSD: Refactor nfsd_dispatch() error paths
>       NFSD: Remove vestigial typedefs
>       NFSD: Fix .pc_release method for NFSv2
>       NFSD: Call NFSv2 encoders on error returns
>       NFSD: Remove the RETURN_STATUS() macro
>       NFSD: Map nfserr_wrongsec outside of nfsd_dispatch
>       NFSD: Hoist status code encoding into XDR encoder functions
> 
> J. Bruce Fields (1):
>       nfsd: rq_lease_breaker cleanup
> 
> 
>  fs/lockd/svc4proc.c         | 248 ++++++++++++++++++++++++-------
>  fs/lockd/svcproc.c          | 250 ++++++++++++++++++++++++-------
>  fs/nfsd/export.c            |   2 +-
>  fs/nfsd/nfs2acl.c           | 160 +++++++++++++-------
>  fs/nfsd/nfs3acl.c           |  88 ++++++-----
>  fs/nfsd/nfs3proc.c          | 238 +++++++++++++++---------------
>  fs/nfsd/nfs3xdr.c           |  25 +++-
>  fs/nfsd/nfs4proc.c          |   6 +-
>  fs/nfsd/nfs4xdr.c           |  11 +-
>  fs/nfsd/nfsproc.c           | 283 ++++++++++++++++++++----------------
>  fs/nfsd/nfssvc.c            | 121 ++++++++-------
>  fs/nfsd/nfsxdr.c            |  52 ++++++-
>  fs/nfsd/xdr.h               |  16 +-
>  fs/nfsd/xdr3.h              |   1 +
>  fs/nfsd/xdr4.h              |   1 +
>  include/uapi/linux/nfsacl.h |   2 +
>  16 files changed, 984 insertions(+), 520 deletions(-)
> 
> --
> Chuck Lever



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux