]> www.infradead.org Git - users/hch/misc.git/commitdiff
nfs: factor out {encode,decode}_opaque_fixed to nfs_xdr.h
authorMike Snitzer <snitzer@kernel.org>
Thu, 5 Sep 2024 19:09:37 +0000 (15:09 -0400)
committerAnna Schumaker <anna.schumaker@oracle.com>
Mon, 23 Sep 2024 19:03:29 +0000 (15:03 -0400)
Eliminates duplicate functions in various files to allow for
additional callers.

Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Reviewed-by: NeilBrown <neilb@suse.de>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
fs/nfs/flexfilelayout/flexfilelayout.c
fs/nfs/nfs4xdr.c
include/linux/nfs_xdr.h

index 39ba9f4208aab2006d430d3becf5db93f024eb21..d4d551ffea7b179b46678a5a360994de7e016ec5 100644 (file)
@@ -2086,12 +2086,6 @@ static int ff_layout_encode_ioerr(struct xdr_stream *xdr,
        return ff_layout_encode_ds_ioerr(xdr, &ff_args->errors);
 }
 
-static void
-encode_opaque_fixed(struct xdr_stream *xdr, const void *buf, size_t len)
-{
-       WARN_ON_ONCE(xdr_stream_encode_opaque_fixed(xdr, buf, len) < 0);
-}
-
 static void
 ff_layout_encode_ff_iostat_head(struct xdr_stream *xdr,
                            const nfs4_stateid *stateid,
index 18d268029b1c3d1824bb7ac266546679c31c2ad3..1a909408cf5a79a25f435c28eb38b6f21ede3c42 100644 (file)
@@ -972,11 +972,6 @@ static __be32 *reserve_space(struct xdr_stream *xdr, size_t nbytes)
        return p;
 }
 
-static void encode_opaque_fixed(struct xdr_stream *xdr, const void *buf, size_t len)
-{
-       WARN_ON_ONCE(xdr_stream_encode_opaque_fixed(xdr, buf, len) < 0);
-}
-
 static void encode_string(struct xdr_stream *xdr, unsigned int len, const char *str)
 {
        WARN_ON_ONCE(xdr_stream_encode_opaque(xdr, str, len) < 0);
@@ -4406,14 +4401,6 @@ static int decode_access(struct xdr_stream *xdr, u32 *supported, u32 *access)
        return 0;
 }
 
-static int decode_opaque_fixed(struct xdr_stream *xdr, void *buf, size_t len)
-{
-       ssize_t ret = xdr_stream_decode_opaque_fixed(xdr, buf, len);
-       if (unlikely(ret < 0))
-               return -EIO;
-       return 0;
-}
-
 static int decode_stateid(struct xdr_stream *xdr, nfs4_stateid *stateid)
 {
        return decode_opaque_fixed(xdr, stateid, NFS4_STATEID_SIZE);
index 96ba04ab24f39380ea94ed8e1a8dd578ea2e027f..12d8e47bc5a38863b2831fb16056f742fa81612e 100644 (file)
@@ -1853,6 +1853,24 @@ struct nfs_rpc_ops {
        void    (*disable_swap)(struct inode *inode);
 };
 
+/*
+ * Helper functions used by NFS client and/or server
+ */
+static inline void encode_opaque_fixed(struct xdr_stream *xdr,
+                                      const void *buf, size_t len)
+{
+       WARN_ON_ONCE(xdr_stream_encode_opaque_fixed(xdr, buf, len) < 0);
+}
+
+static inline int decode_opaque_fixed(struct xdr_stream *xdr,
+                                     void *buf, size_t len)
+{
+       ssize_t ret = xdr_stream_decode_opaque_fixed(xdr, buf, len);
+       if (unlikely(ret < 0))
+               return -EIO;
+       return 0;
+}
+
 /*
  * Function vectors etc. for the NFS client
  */
@@ -1866,4 +1884,4 @@ extern const struct rpc_version nfs_version4;
 extern const struct rpc_version nfsacl_version3;
 extern const struct rpc_program nfsacl_program;
 
-#endif
+#endif /* _LINUX_NFS_XDR_H */