Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 07bccc2d authored by Alexandros Batsakis's avatar Alexandros Batsakis Committed by Trond Myklebust
Browse files

nfs41: add support for callback with RPC version number 4



The NFSv4.1 spec-29 (18.36.3) says that the server MUST use an ONC RPC
(program) version number equal to 4 in callbacks sent to the client.
For now we allow both versions 1 and 4.

Signed-off-by: default avatarAlexandros Batsakis <batsakis@netapp.com>
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 0b9e2d41
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -385,6 +385,7 @@ static int nfs_callback_authenticate(struct svc_rqst *rqstp)
 */
 */
static struct svc_version *nfs4_callback_version[] = {
static struct svc_version *nfs4_callback_version[] = {
	[1] = &nfs4_callback_version1,
	[1] = &nfs4_callback_version1,
	[4] = &nfs4_callback_version4,
};
};


static struct svc_stat nfs4_callback_stats;
static struct svc_stat nfs4_callback_stats;
+7 −0
Original line number Original line Diff line number Diff line
@@ -718,3 +718,10 @@ struct svc_version nfs4_callback_version1 = {
	.vs_dispatch = NULL,
	.vs_dispatch = NULL,
};
};


struct svc_version nfs4_callback_version4 = {
	.vs_vers = 4,
	.vs_nproc = ARRAY_SIZE(nfs4_callback_procedures1),
	.vs_proc = nfs4_callback_procedures1,
	.vs_xdrsize = NFS4_CALLBACK_XDRSIZE,
	.vs_dispatch = NULL,
};
+1 −0
Original line number Original line Diff line number Diff line
@@ -156,6 +156,7 @@ struct vfsmount *nfs_do_refmount(const struct vfsmount *mnt_parent, struct dentr


/* callback_xdr.c */
/* callback_xdr.c */
extern struct svc_version nfs4_callback_version1;
extern struct svc_version nfs4_callback_version1;
extern struct svc_version nfs4_callback_version4;


/* pagelist.c */
/* pagelist.c */
extern int __init nfs_init_nfspagecache(void);
extern int __init nfs_init_nfspagecache(void);
+1 −0
Original line number Original line Diff line number Diff line
@@ -290,6 +290,7 @@ struct nfs4_mount_data;


/* callback_xdr.c */
/* callback_xdr.c */
extern struct svc_version nfs4_callback_version1;
extern struct svc_version nfs4_callback_version1;
extern struct svc_version nfs4_callback_version4;


#else
#else