]> Git Repo - linux.git/commitdiff
Merge tag 'nfsd-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
authorLinus Torvalds <[email protected]>
Sun, 21 Feb 2021 18:22:20 +0000 (10:22 -0800)
committerLinus Torvalds <[email protected]>
Sun, 21 Feb 2021 18:22:20 +0000 (10:22 -0800)
Pull nfsd updates from Chuck Lever:

 - Update NFSv2 and NFSv3 XDR decoding functions

 - Further improve support for re-exporting NFS mounts

 - Convert NFSD stats to per-CPU counters

 - Add batch Receive posting to the server's RPC/RDMA transport

* tag 'nfsd-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: (65 commits)
  nfsd: skip some unnecessary stats in the v4 case
  nfs: use change attribute for NFS re-exports
  NFSv4_2: SSC helper should use its own config.
  nfsd: cstate->session->se_client -> cstate->clp
  nfsd: simplify nfsd4_check_open_reclaim
  nfsd: remove unused set_client argument
  nfsd: find_cpntf_state cleanup
  nfsd: refactor set_client
  nfsd: rename lookup_clientid->set_client
  nfsd: simplify nfsd_renew
  nfsd: simplify process_lock
  nfsd4: simplify process_lookup1
  SUNRPC: Correct a comment
  svcrdma: DMA-sync the receive buffer in svc_rdma_recvfrom()
  svcrdma: Reduce Receive doorbell rate
  svcrdma: Deprecate stat variables that are no longer used
  svcrdma: Restore read and write stats
  svcrdma: Convert rdma_stat_sq_starve to a per-CPU counter
  svcrdma: Convert rdma_stat_recv to a per-CPU counter
  svcrdma: Refactor svc_rdma_init() and svc_rdma_clean_up()
  ...

1  2 
fs/Kconfig
include/linux/sunrpc/xdr.h

diff --combined fs/Kconfig
index da524c4d7b7e03f7d9a218f9e78ef0849b16de2d,a55bda4233bbea9edd12555f03dac8289ea16232..462253ae483a34af11456e347cf0fb94e2da10ad
@@@ -203,7 -203,7 +203,7 @@@ config TMPFS_XATT
  
  config TMPFS_INODE64
        bool "Use 64-bit ino_t by default in tmpfs"
 -      depends on TMPFS && 64BIT
 +      depends on TMPFS && 64BIT && !(S390 || ALPHA)
        default n
        help
          tmpfs has historically used only inode numbers as wide as an unsigned
@@@ -333,6 -333,10 +333,10 @@@ config NFS_COMMO
        depends on NFSD || NFS_FS || LOCKD
        default y
  
+ config NFS_V4_2_SSC_HELPER
+       tristate
+       default y if NFS_V4=y || NFS_FS=y
  source "net/sunrpc/Kconfig"
  source "fs/ceph/Kconfig"
  source "fs/cifs/Kconfig"
index b26213ae8c1ab011ba757a81367ac865b042982b,dbba537caab6e7578fe05d3185bc24529ee9d9b6..2bc75c167f00f66d4269a3232cddfdbe650e5cdc
  struct bio_vec;
  struct rpc_rqst;
  
+ /*
+  * Size of an XDR encoding unit in bytes, i.e. 32 bits,
+  * as defined in Section 3 of RFC 4506. All encoded
+  * XDR data items are aligned on a boundary of 32 bits.
+  */
+ #define XDR_UNIT              sizeof(__be32)
  /*
   * Buffer adjustment
   */
  #define XDR_QUADLEN(l)                (((l) + 3) >> 2)
  
  /*
 - * Generic opaque `network object.' At the kernel level, this type
 - * is used only by lockd.
 + * Generic opaque `network object.'
   */
  #define XDR_MAX_NETOBJ                1024
  struct xdr_netobj {
@@@ -329,7 -337,7 +336,7 @@@ ssize_t xdr_stream_decode_string_dup(st
  static inline size_t
  xdr_align_size(size_t n)
  {
-       const size_t mask = sizeof(__u32) - 1;
+       const size_t mask = XDR_UNIT - 1;
  
        return (n + mask) & ~mask;
  }
@@@ -359,7 -367,7 +366,7 @@@ static inline size_t xdr_pad_size(size_
   */
  static inline ssize_t xdr_stream_encode_item_present(struct xdr_stream *xdr)
  {
-       const size_t len = sizeof(__be32);
+       const size_t len = XDR_UNIT;
        __be32 *p = xdr_reserve_space(xdr, len);
  
        if (unlikely(!p))
   */
  static inline int xdr_stream_encode_item_absent(struct xdr_stream *xdr)
  {
-       const size_t len = sizeof(__be32);
+       const size_t len = XDR_UNIT;
        __be32 *p = xdr_reserve_space(xdr, len);
  
        if (unlikely(!p))
This page took 0.087705 seconds and 4 git commands to generate.