diff options
Diffstat (limited to 'fs/nfs/namespace.c')
-rw-r--r-- | fs/nfs/namespace.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/fs/nfs/namespace.c b/fs/nfs/namespace.c index 08b9c93675da..655925373b91 100644 --- a/fs/nfs/namespace.c +++ b/fs/nfs/namespace.c | |||
@@ -7,6 +7,7 @@ | |||
7 | * NFS namespace | 7 | * NFS namespace |
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <linux/module.h> | ||
10 | #include <linux/dcache.h> | 11 | #include <linux/dcache.h> |
11 | #include <linux/gfp.h> | 12 | #include <linux/gfp.h> |
12 | #include <linux/mount.h> | 13 | #include <linux/mount.h> |
@@ -112,6 +113,7 @@ Elong_unlock: | |||
112 | Elong: | 113 | Elong: |
113 | return ERR_PTR(-ENAMETOOLONG); | 114 | return ERR_PTR(-ENAMETOOLONG); |
114 | } | 115 | } |
116 | EXPORT_SYMBOL_GPL(nfs_path); | ||
115 | 117 | ||
116 | /* | 118 | /* |
117 | * nfs_d_automount - Handle crossing a mountpoint on the server | 119 | * nfs_d_automount - Handle crossing a mountpoint on the server |
@@ -195,20 +197,7 @@ static struct vfsmount *nfs_do_clone_mount(struct nfs_server *server, | |||
195 | const char *devname, | 197 | const char *devname, |
196 | struct nfs_clone_mount *mountdata) | 198 | struct nfs_clone_mount *mountdata) |
197 | { | 199 | { |
198 | #ifdef CONFIG_NFS_V4 | ||
199 | struct vfsmount *mnt = ERR_PTR(-EINVAL); | ||
200 | switch (server->nfs_client->rpc_ops->version) { | ||
201 | case 2: | ||
202 | case 3: | ||
203 | mnt = vfs_kern_mount(&nfs_xdev_fs_type, 0, devname, mountdata); | ||
204 | break; | ||
205 | case 4: | ||
206 | mnt = vfs_kern_mount(&nfs4_xdev_fs_type, 0, devname, mountdata); | ||
207 | } | ||
208 | return mnt; | ||
209 | #else | ||
210 | return vfs_kern_mount(&nfs_xdev_fs_type, 0, devname, mountdata); | 200 | return vfs_kern_mount(&nfs_xdev_fs_type, 0, devname, mountdata); |
211 | #endif | ||
212 | } | 201 | } |
213 | 202 | ||
214 | /** | 203 | /** |
@@ -253,6 +242,7 @@ out: | |||
253 | dprintk("<-- nfs_do_submount() = %p\n", mnt); | 242 | dprintk("<-- nfs_do_submount() = %p\n", mnt); |
254 | return mnt; | 243 | return mnt; |
255 | } | 244 | } |
245 | EXPORT_SYMBOL_GPL(nfs_do_submount); | ||
256 | 246 | ||
257 | struct vfsmount *nfs_submount(struct nfs_server *server, struct dentry *dentry, | 247 | struct vfsmount *nfs_submount(struct nfs_server *server, struct dentry *dentry, |
258 | struct nfs_fh *fh, struct nfs_fattr *fattr) | 248 | struct nfs_fh *fh, struct nfs_fattr *fattr) |
@@ -268,3 +258,4 @@ struct vfsmount *nfs_submount(struct nfs_server *server, struct dentry *dentry, | |||
268 | 258 | ||
269 | return nfs_do_submount(dentry, fh, fattr, server->client->cl_auth->au_flavor); | 259 | return nfs_do_submount(dentry, fh, fattr, server->client->cl_auth->au_flavor); |
270 | } | 260 | } |
261 | EXPORT_SYMBOL_GPL(nfs_submount); | ||