[PATCH v2 1/7] nfsd: add pragma public to delegated timestamp types

Jeff Layton
2024-08-26T12:46:39Z

In a later patch we're going to need the ability to decode the delegated
timestamp fields. Make the decoders available for the delgated
timestamp types, and regenerate the source and header files.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
fs/nfsd/nfs4_1.x | 2 ++
fs/nfsd/nfs4xdr_gen.c | 10 +++++-----
fs/nfsd/nfs4xdr_gen.h | 8 +++++++-
3 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/fs/nfsd/nfs4_1.x b/fs/nfsd/nfs4_1.x
index d2fde450de5e..fc37d1ecba0f 100644
--- a/fs/nfsd/nfs4_1.x
+++ b/fs/nfsd/nfs4_1.x
@@ -150,6 +150,8 @@ const OPEN4_RESULT_NO_OPEN_STATEID = 0x00000010;
*/
typedef nfstime4 fattr4_time_deleg_access;
typedef nfstime4 fattr4_time_deleg_modify;
+pragma public fattr4_time_deleg_access;
+pragma public fattr4_time_deleg_modify;

%/*
diff --git a/fs/nfsd/nfs4xdr_gen.c b/fs/nfsd/nfs4xdr_gen.c
index c22372144a57..0816cfa530e0 100644
--- a/fs/nfsd/nfs4xdr_gen.c
+++ b/fs/nfsd/nfs4xdr_gen.c
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// Generated by xdrgen. Manual edits will be lost.
-// XDR specification modification time: Fri Aug 23 17:28:09 2024
+// XDR specification modification time: Fri Aug 23 18:57:46 2024

#include "nfs4xdr_gen.h"

@@ -120,13 +120,13 @@ xdrgen_decode_fattr4_open_arguments(struct xdr_stream *xdr, fattr4_open_argument
return xdrgen_decode_open_arguments4(xdr, ptr);
};

-static bool __maybe_unused
+bool
xdrgen_decode_fattr4_time_deleg_access(struct xdr_stream *xdr, fattr4_time_deleg_access *ptr)
{
return xdrgen_decode_nfstime4(xdr, ptr);
};

-static bool __maybe_unused
+bool
xdrgen_decode_fattr4_time_deleg_modify(struct xdr_stream *xdr, fattr4_time_deleg_modify *ptr)
{
return xdrgen_decode_nfstime4(xdr, ptr);
@@ -223,13 +223,13 @@ xdrgen_encode_fattr4_open_arguments(struct xdr_stream *xdr, const fattr4_open_ar
return xdrgen_encode_open_arguments4(xdr, value);
};

-static bool __maybe_unused
+bool
xdrgen_encode_fattr4_time_deleg_access(struct xdr_stream *xdr, const fattr4_time_deleg_access *value)
{
return xdrgen_encode_nfstime4(xdr, value);
};

-static bool __maybe_unused
+bool
xdrgen_encode_fattr4_time_deleg_modify(struct xdr_stream *xdr, const fattr4_time_deleg_modify *value)
{
return xdrgen_encode_nfstime4(xdr, value);
diff --git a/fs/nfsd/nfs4xdr_gen.h b/fs/nfsd/nfs4xdr_gen.h
index 48da108a2427..e79935f973ff 100644
--- a/fs/nfsd/nfs4xdr_gen.h
+++ b/fs/nfsd/nfs4xdr_gen.h
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0 */
/* Generated by xdrgen. Manual edits will be lost. */
-/* XDR specification modification time: Fri Aug 23 17:28:09 2024 */
+/* XDR specification modification time: Fri Aug 23 18:57:46 2024 */

#ifndef _LINUX_NFS4_XDRGEN_H
#define _LINUX_NFS4_XDRGEN_H
@@ -88,8 +88,14 @@ enum { OPEN4_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION = 0x200000 };
enum { OPEN4_RESULT_NO_OPEN_STATEID = 0x00000010 };

typedef struct nfstime4 fattr4_time_deleg_access;
+bool xdrgen_decode_fattr4_time_deleg_access(struct xdr_stream *xdr, fattr4_time_deleg_access *ptr);
+bool xdrgen_encode_fattr4_time_deleg_access(struct xdr_stream *xdr, const fattr4_time_deleg_access *value);
+

typedef struct nfstime4 fattr4_time_deleg_modify;
+bool xdrgen_decode_fattr4_time_deleg_modify(struct xdr_stream *xdr, fattr4_time_deleg_modify *ptr);
+bool xdrgen_encode_fattr4_time_deleg_modify(struct xdr_stream *xdr, const fattr4_time_deleg_modify *value);
+

enum { FATTR4_TIME_DELEG_ACCESS = 84 };

--
2.46.0