summaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorScott Mayhew <smayhew@redhat.com>2019-09-09 23:10:30 +0300
committerJ. Bruce Fields <bfields@redhat.com>2019-09-10 16:26:33 +0300
commit11a60d159259dbadf9188534b508e5003769af61 (patch)
tree21b922564de4770ccdcdb9a197c465a6d14af2ff /include/uapi
parentbbf2f098838aa86cee240a7a11486e0601d56a3f (diff)
downloadlinux-11a60d159259dbadf9188534b508e5003769af61.tar.xz
nfsd: add a "GetVersion" upcall for nfsdcld
Add a "GetVersion" upcall to allow nfsd to determine the maximum upcall version that the nfsdcld userspace daemon supports. If the daemon responds with -EOPNOTSUPP, then we know it only supports v1. Signed-off-by: Scott Mayhew <smayhew@redhat.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/nfsd/cld.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/uapi/linux/nfsd/cld.h b/include/uapi/linux/nfsd/cld.h
index b1e9de4f07d5..c5aad16d10c0 100644
--- a/include/uapi/linux/nfsd/cld.h
+++ b/include/uapi/linux/nfsd/cld.h
@@ -36,7 +36,8 @@ enum cld_command {
Cld_Remove, /* remove record of this cm_id */
Cld_Check, /* is this cm_id allowed? */
Cld_GraceDone, /* grace period is complete */
- Cld_GraceStart,
+ Cld_GraceStart, /* grace start (upload client records) */
+ Cld_GetVersion, /* query max supported upcall version */
};
/* representation of long-form NFSv4 client ID */
@@ -54,7 +55,15 @@ struct cld_msg {
union {
__s64 cm_gracetime; /* grace period start time */
struct cld_name cm_name;
+ __u8 cm_version; /* for getting max version */
} __attribute__((packed)) cm_u;
} __attribute__((packed));
+struct cld_msg_hdr {
+ __u8 cm_vers; /* upcall version */
+ __u8 cm_cmd; /* upcall command */
+ __s16 cm_status; /* return code */
+ __u32 cm_xid; /* transaction id */
+} __attribute__((packed));
+
#endif /* !_NFSD_CLD_H */