diff options
author | NeilBrown <neilb@cse.unsw.edu.au> | 2005-11-07 04:00:25 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-07 10:53:48 -0500 |
commit | 70c3b76c28b012452d63bb27f6d0517afb05d86f (patch) | |
tree | 836c24891039fde8a59ee5db37def144bce16b90 /include/linux/nfsd | |
parent | 7390022d697bcc62a7556d6fdc61ec56ce3a381a (diff) |
[PATCH] knfsd: Allow run-time selection of NFS versions to export
Provide a file in the NFSD filesystem that allows setting and querying of
which version of NFS are being exported. Changes are only allowed while no
server is running.
Signed-off-by: Steve Dickson <steved@redhat.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/nfsd')
-rw-r--r-- | include/linux/nfsd/nfsd.h | 2 | ||||
-rw-r--r-- | include/linux/nfsd/syscall.h | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/include/linux/nfsd/nfsd.h b/include/linux/nfsd/nfsd.h index 6d5a24f3fc6d..51c231a1e5a6 100644 --- a/include/linux/nfsd/nfsd.h +++ b/include/linux/nfsd/nfsd.h | |||
@@ -60,7 +60,7 @@ typedef int (*nfsd_dirop_t)(struct inode *, struct dentry *, int, int); | |||
60 | extern struct svc_program nfsd_program; | 60 | extern struct svc_program nfsd_program; |
61 | extern struct svc_version nfsd_version2, nfsd_version3, | 61 | extern struct svc_version nfsd_version2, nfsd_version3, |
62 | nfsd_version4; | 62 | nfsd_version4; |
63 | 63 | extern struct svc_serv *nfsd_serv; | |
64 | /* | 64 | /* |
65 | * Function prototypes. | 65 | * Function prototypes. |
66 | */ | 66 | */ |
diff --git a/include/linux/nfsd/syscall.h b/include/linux/nfsd/syscall.h index e65c9db6d13f..781efbf94ed3 100644 --- a/include/linux/nfsd/syscall.h +++ b/include/linux/nfsd/syscall.h | |||
@@ -39,6 +39,21 @@ | |||
39 | #define NFSCTL_GETFD 7 /* get an fh by path (used by mountd) */ | 39 | #define NFSCTL_GETFD 7 /* get an fh by path (used by mountd) */ |
40 | #define NFSCTL_GETFS 8 /* get an fh by path with max FH len */ | 40 | #define NFSCTL_GETFS 8 /* get an fh by path with max FH len */ |
41 | 41 | ||
42 | /* | ||
43 | * Macros used to set version | ||
44 | */ | ||
45 | #define NFSCTL_VERSET(_cltbits, _v) ((_cltbits) |= (1 << (_v))) | ||
46 | #define NFSCTL_VERUNSET(_cltbits, _v) ((_cltbits) &= ~(1 << (_v))) | ||
47 | #define NFSCTL_VERISSET(_cltbits, _v) ((_cltbits) & (1 << (_v))) | ||
48 | |||
49 | #if defined(CONFIG_NFSD_V4) | ||
50 | #define NFSCTL_VERALL (0x1c /* 0b011100 */) | ||
51 | #elif defined(CONFIG_NFSD_V3) | ||
52 | #define NFSCTL_VERALL (0x0c /* 0b001100 */) | ||
53 | #else | ||
54 | #define NFSCTL_VERALL (0x04 /* 0b000100 */) | ||
55 | #endif | ||
56 | |||
42 | /* SVC */ | 57 | /* SVC */ |
43 | struct nfsctl_svc { | 58 | struct nfsctl_svc { |
44 | unsigned short svc_port; | 59 | unsigned short svc_port; |
@@ -120,6 +135,8 @@ extern int exp_delclient(struct nfsctl_client *ncp); | |||
120 | extern int exp_export(struct nfsctl_export *nxp); | 135 | extern int exp_export(struct nfsctl_export *nxp); |
121 | extern int exp_unexport(struct nfsctl_export *nxp); | 136 | extern int exp_unexport(struct nfsctl_export *nxp); |
122 | 137 | ||
138 | extern unsigned int nfsd_versbits; | ||
139 | |||
123 | #endif /* __KERNEL__ */ | 140 | #endif /* __KERNEL__ */ |
124 | 141 | ||
125 | #endif /* NFSD_SYSCALL_H */ | 142 | #endif /* NFSD_SYSCALL_H */ |