All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chuck Lever <chuck.lever@oracle.com>
To: linux-nfs@vger.kernel.org
Subject: [PATCH v2 00/43] NFSv2/3 XDR encoder overhaul
Date: Sat, 06 Mar 2021 17:29:12 -0500	[thread overview]
Message-ID: <161506956174.4312.17478383686779759287.stgit@klimt.1015granger.net> (raw)

Hi-

This patch series updates the server-side XDR encoder functions for
NFS versions 2 and 3. The series was available on both test servers
I maintained at last week's virtual bake-a-thon event.

This series is available in the for-next topic branch here:

git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git

Changes since v1:
- Added an xdr_encode_bool() helper
- Dropped "SUNRPC: Fix xdr_get_next_encode_buffer() page boundary handling"
- Added a generic tracepoint to report directory entry decoding
- Removed NFSDBG macro - no longer needed

---

Chuck Lever (43):
      NFSD: Extract the svcxdr_init_encode() helper
      NFSD: Update the GETATTR3res encoder to use struct xdr_stream
      NFSD: Update the NFSv3 ACCESS3res encoder to use struct xdr_stream
      NFSD: Update the NFSv3 LOOKUP3res encoder to use struct xdr_stream
      NFSD: Update the NFSv3 wccstat result encoder to use struct xdr_stream
      NFSD: Update the NFSv3 READLINK3res encoder to use struct xdr_stream
      NFSD: Update the NFSv3 READ3res encode to use struct xdr_stream
      NFSD: Update the NFSv3 WRITE3res encoder to use struct xdr_stream
      NFSD: Update the NFSv3 CREATE family of encoders to use struct xdr_stream
      NFSD: Update the NFSv3 RENAMEv3res encoder to use struct xdr_stream
      NFSD: Update the NFSv3 LINK3res encoder to use struct xdr_stream
      NFSD: Update the NFSv3 FSSTAT3res encoder to use struct xdr_stream
      NFSD: Update the NFSv3 FSINFO3res encoder to use struct xdr_stream
      NFSD: Update the NFSv3 PATHCONF3res encoder to use struct xdr_stream
      NFSD: Update the NFSv3 COMMIT3res encoder to use struct xdr_stream
      NFSD: Add a helper that encodes NFSv3 directory offset cookies
      NFSD: Count bytes instead of pages in the NFSv3 READDIR encoder
      NFSD: Update the NFSv3 READDIR3res encoder to use struct xdr_stream
      NFSD: Update NFSv3 READDIR entry encoders to use struct xdr_stream
      NFSD: Remove unused NFSv3 directory entry encoders
      NFSD: Reduce svc_rqst::rq_pages churn during READDIR operations
      NFSD: Update the NFSv2 stat encoder to use struct xdr_stream
      NFSD: Update the NFSv2 attrstat encoder to use struct xdr_stream
      NFSD: Update the NFSv2 diropres encoder to use struct xdr_stream
      NFSD: Update the NFSv2 READLINK result encoder to use struct xdr_stream
      NFSD: Update the NFSv2 READ result encoder to use struct xdr_stream
      NFSD: Update the NFSv2 STATFS result encoder to use struct xdr_stream
      NFSD: Add a helper that encodes NFSv3 directory offset cookies
      NFSD: Count bytes instead of pages in the NFSv2 READDIR encoder
      NFSD: Update the NFSv2 READDIR result encoder to use struct xdr_stream
      NFSD: Update the NFSv2 READDIR entry encoder to use struct xdr_stream
      NFSD: Remove unused NFSv2 directory entry encoders
      NFSD: Add an xdr_stream-based encoder for NFSv2/3 ACLs
      NFSD: Update the NFSv2 GETACL result encoder to use struct xdr_stream
      NFSD: Update the NFSv2 SETACL result encoder to use struct xdr_stream
      NFSD: Update the NFSv2 ACL GETATTR result encoder to use struct xdr_stream
      NFSD: Update the NFSv2 ACL ACCESS result encoder to use struct xdr_stream
      NFSD: Clean up after updating NFSv2 ACL encoders
      NFSD: Update the NFSv3 GETACL result encoder to use struct xdr_stream
      NFSD: Update the NFSv3 SETACL result encoder to use struct xdr_stream
      NFSD: Clean up after updating NFSv3 ACL encoders
      NFSD: Add a tracepoint to record directory entry encoding
      NFSD: Clean up NFSDDBG_FACILITY macro


 fs/nfs_common/nfsacl.c     |   71 +++
 fs/nfsd/nfs2acl.c          |   87 ++-
 fs/nfsd/nfs3acl.c          |   39 +-
 fs/nfsd/nfs3proc.c         |   97 ++--
 fs/nfsd/nfs3xdr.c          | 1043 ++++++++++++++++++++++--------------
 fs/nfsd/nfsfh.c            |    2 +-
 fs/nfsd/nfsfh.h            |    2 +-
 fs/nfsd/nfsproc.c          |   53 +-
 fs/nfsd/nfsxdr.c           |  413 ++++++++------
 fs/nfsd/trace.h            |   24 +
 fs/nfsd/vfs.c              |    9 +-
 fs/nfsd/vfs.h              |    2 +-
 fs/nfsd/xdr.h              |   23 +-
 fs/nfsd/xdr3.h             |   37 +-
 include/linux/nfsacl.h     |    3 +
 include/linux/sunrpc/xdr.h |   34 ++
 16 files changed, 1184 insertions(+), 755 deletions(-)

--
Chuck Lever


             reply	other threads:[~2021-03-06 22:30 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-06 22:29 Chuck Lever [this message]
2021-03-06 22:29 ` [PATCH v2 01/43] NFSD: Extract the svcxdr_init_encode() helper Chuck Lever
2021-03-06 22:29 ` [PATCH v2 02/43] NFSD: Update the GETATTR3res encoder to use struct xdr_stream Chuck Lever
2021-03-06 22:29 ` [PATCH v2 03/43] NFSD: Update the NFSv3 ACCESS3res " Chuck Lever
2021-03-06 22:29 ` [PATCH v2 04/43] NFSD: Update the NFSv3 LOOKUP3res " Chuck Lever
2021-03-06 22:29 ` [PATCH v2 05/43] NFSD: Update the NFSv3 wccstat result " Chuck Lever
2021-03-06 22:29 ` [PATCH v2 06/43] NFSD: Update the NFSv3 READLINK3res " Chuck Lever
2021-03-06 22:29 ` [PATCH v2 07/43] NFSD: Update the NFSv3 READ3res encode " Chuck Lever
2021-03-06 22:30 ` [PATCH v2 08/43] NFSD: Update the NFSv3 WRITE3res encoder " Chuck Lever
2021-03-06 22:30 ` [PATCH v2 09/43] NFSD: Update the NFSv3 CREATE family of encoders " Chuck Lever
2021-03-06 22:30 ` [PATCH v2 10/43] NFSD: Update the NFSv3 RENAMEv3res encoder " Chuck Lever
2021-03-06 22:30 ` [PATCH v2 11/43] NFSD: Update the NFSv3 LINK3res " Chuck Lever
2021-03-06 22:30 ` [PATCH v2 12/43] NFSD: Update the NFSv3 FSSTAT3res " Chuck Lever
2021-03-06 22:30 ` [PATCH v2 13/43] NFSD: Update the NFSv3 FSINFO3res " Chuck Lever
2021-03-06 22:30 ` [PATCH v2 14/43] NFSD: Update the NFSv3 PATHCONF3res " Chuck Lever
2021-03-06 22:30 ` [PATCH v2 15/43] NFSD: Update the NFSv3 COMMIT3res " Chuck Lever
2021-03-06 22:30 ` [PATCH v2 16/43] NFSD: Add a helper that encodes NFSv3 directory offset cookies Chuck Lever
2021-03-06 22:30 ` [PATCH v2 17/43] NFSD: Count bytes instead of pages in the NFSv3 READDIR encoder Chuck Lever
2021-03-06 22:31 ` [PATCH v2 18/43] NFSD: Update the NFSv3 READDIR3res encoder to use struct xdr_stream Chuck Lever
2021-03-06 22:31 ` [PATCH v2 19/43] NFSD: Update NFSv3 READDIR entry encoders " Chuck Lever
2021-03-06 22:31 ` [PATCH v2 20/43] NFSD: Remove unused NFSv3 directory entry encoders Chuck Lever
2021-03-06 22:31 ` [PATCH v2 21/43] NFSD: Reduce svc_rqst::rq_pages churn during READDIR operations Chuck Lever
2021-03-06 22:31 ` [PATCH v2 22/43] NFSD: Update the NFSv2 stat encoder to use struct xdr_stream Chuck Lever
2021-03-06 22:31 ` [PATCH v2 23/43] NFSD: Update the NFSv2 attrstat " Chuck Lever
2021-03-06 22:31 ` [PATCH v2 24/43] NFSD: Update the NFSv2 diropres " Chuck Lever
2021-03-06 22:31 ` [PATCH v2 25/43] NFSD: Update the NFSv2 READLINK result " Chuck Lever
2021-03-06 22:31 ` [PATCH v2 26/43] NFSD: Update the NFSv2 READ " Chuck Lever
2021-03-06 22:31 ` [PATCH v2 27/43] NFSD: Update the NFSv2 STATFS " Chuck Lever
2021-03-06 22:32 ` [PATCH v2 28/43] NFSD: Add a helper that encodes NFSv3 directory offset cookies Chuck Lever
2021-03-06 22:32 ` [PATCH v2 29/43] NFSD: Count bytes instead of pages in the NFSv2 READDIR encoder Chuck Lever
2021-03-06 22:32 ` [PATCH v2 30/43] NFSD: Update the NFSv2 READDIR result encoder to use struct xdr_stream Chuck Lever
2021-03-06 22:32 ` [PATCH v2 31/43] NFSD: Update the NFSv2 READDIR entry " Chuck Lever
2021-03-06 22:32 ` [PATCH v2 32/43] NFSD: Remove unused NFSv2 directory entry encoders Chuck Lever
2021-03-06 22:32 ` [PATCH v2 33/43] NFSD: Add an xdr_stream-based encoder for NFSv2/3 ACLs Chuck Lever
2021-03-06 22:32 ` [PATCH v2 34/43] NFSD: Update the NFSv2 GETACL result encoder to use struct xdr_stream Chuck Lever
2021-03-06 22:32 ` [PATCH v2 35/43] NFSD: Update the NFSv2 SETACL " Chuck Lever
2021-03-06 22:32 ` [PATCH v2 36/43] NFSD: Update the NFSv2 ACL GETATTR " Chuck Lever
2021-03-06 22:32 ` [PATCH v2 37/43] NFSD: Update the NFSv2 ACL ACCESS " Chuck Lever
2021-03-06 22:33 ` [PATCH v2 38/43] NFSD: Clean up after updating NFSv2 ACL encoders Chuck Lever
2021-03-06 22:33 ` [PATCH v2 39/43] NFSD: Update the NFSv3 GETACL result encoder to use struct xdr_stream Chuck Lever
2021-03-06 22:33 ` [PATCH v2 40/43] NFSD: Update the NFSv3 SETACL " Chuck Lever
2021-03-06 22:33 ` [PATCH v2 41/43] NFSD: Clean up after updating NFSv3 ACL encoders Chuck Lever
2021-03-06 22:33 ` [PATCH v2 42/43] NFSD: Add a tracepoint to record directory entry encoding Chuck Lever
2021-03-06 22:33 ` [PATCH v2 43/43] NFSD: Clean up NFSDDBG_FACILITY macro Chuck Lever

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=161506956174.4312.17478383686779759287.stgit@klimt.1015granger.net \
    --to=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.