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: Alexandros Batsakis <batsakis@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
0b9e2d41f1
commit
07bccc2dd4
|
@ -385,6 +385,7 @@ static int nfs_callback_authenticate(struct svc_rqst *rqstp)
|
|||
*/
|
||||
static struct svc_version *nfs4_callback_version[] = {
|
||||
[1] = &nfs4_callback_version1,
|
||||
[4] = &nfs4_callback_version4,
|
||||
};
|
||||
|
||||
static struct svc_stat nfs4_callback_stats;
|
||||
|
|
|
@ -718,3 +718,10 @@ struct svc_version nfs4_callback_version1 = {
|
|||
.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,
|
||||
};
|
||||
|
|
|
@ -156,6 +156,7 @@ struct vfsmount *nfs_do_refmount(const struct vfsmount *mnt_parent, struct dentr
|
|||
|
||||
/* callback_xdr.c */
|
||||
extern struct svc_version nfs4_callback_version1;
|
||||
extern struct svc_version nfs4_callback_version4;
|
||||
|
||||
/* pagelist.c */
|
||||
extern int __init nfs_init_nfspagecache(void);
|
||||
|
|
|
@ -290,6 +290,7 @@ struct nfs4_mount_data;
|
|||
|
||||
/* callback_xdr.c */
|
||||
extern struct svc_version nfs4_callback_version1;
|
||||
extern struct svc_version nfs4_callback_version4;
|
||||
|
||||
#else
|
||||
|
||||
|
|
Loading…
Reference in New Issue