nfs: don't pass nfs_subversion to ->create_server()
pick it from mount_info Reviewed-by: David Howells <dhowells@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
1bc3a2cbf2
commit
0c38f2131d
|
@ -951,10 +951,10 @@ EXPORT_SYMBOL_GPL(nfs_free_server);
|
||||||
* Create a version 2 or 3 volume record
|
* Create a version 2 or 3 volume record
|
||||||
* - keyed on server and FSID
|
* - keyed on server and FSID
|
||||||
*/
|
*/
|
||||||
struct nfs_server *nfs_create_server(struct nfs_mount_info *mount_info,
|
struct nfs_server *nfs_create_server(struct nfs_mount_info *mount_info)
|
||||||
struct nfs_subversion *nfs_mod)
|
|
||||||
{
|
{
|
||||||
struct nfs_server *server;
|
struct nfs_server *server;
|
||||||
|
struct nfs_subversion *nfs_mod = mount_info->nfs_mod;
|
||||||
struct nfs_fattr *fattr;
|
struct nfs_fattr *fattr;
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
|
|
|
@ -170,11 +170,8 @@ extern struct nfs_client *nfs4_find_client_ident(struct net *, int);
|
||||||
extern struct nfs_client *
|
extern struct nfs_client *
|
||||||
nfs4_find_client_sessionid(struct net *, const struct sockaddr *,
|
nfs4_find_client_sessionid(struct net *, const struct sockaddr *,
|
||||||
struct nfs4_sessionid *, u32);
|
struct nfs4_sessionid *, u32);
|
||||||
extern struct nfs_server *nfs_create_server(struct nfs_mount_info *,
|
extern struct nfs_server *nfs_create_server(struct nfs_mount_info *);
|
||||||
struct nfs_subversion *);
|
extern struct nfs_server *nfs4_create_server(struct nfs_mount_info *);
|
||||||
extern struct nfs_server *nfs4_create_server(
|
|
||||||
struct nfs_mount_info *,
|
|
||||||
struct nfs_subversion *);
|
|
||||||
extern struct nfs_server *nfs4_create_referral_server(struct nfs_clone_mount *,
|
extern struct nfs_server *nfs4_create_referral_server(struct nfs_clone_mount *,
|
||||||
struct nfs_fh *);
|
struct nfs_fh *);
|
||||||
extern int nfs4_update_server(struct nfs_server *server, const char *hostname,
|
extern int nfs4_update_server(struct nfs_server *server, const char *hostname,
|
||||||
|
|
|
@ -27,7 +27,7 @@ static inline int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
|
||||||
#endif /* CONFIG_NFS_V3_ACL */
|
#endif /* CONFIG_NFS_V3_ACL */
|
||||||
|
|
||||||
/* nfs3client.c */
|
/* nfs3client.c */
|
||||||
struct nfs_server *nfs3_create_server(struct nfs_mount_info *, struct nfs_subversion *);
|
struct nfs_server *nfs3_create_server(struct nfs_mount_info *);
|
||||||
struct nfs_server *nfs3_clone_server(struct nfs_server *, struct nfs_fh *,
|
struct nfs_server *nfs3_clone_server(struct nfs_server *, struct nfs_fh *,
|
||||||
struct nfs_fattr *, rpc_authflavor_t);
|
struct nfs_fattr *, rpc_authflavor_t);
|
||||||
|
|
||||||
|
|
|
@ -46,10 +46,9 @@ static inline void nfs_init_server_aclclient(struct nfs_server *server)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct nfs_server *nfs3_create_server(struct nfs_mount_info *mount_info,
|
struct nfs_server *nfs3_create_server(struct nfs_mount_info *mount_info)
|
||||||
struct nfs_subversion *nfs_mod)
|
|
||||||
{
|
{
|
||||||
struct nfs_server *server = nfs_create_server(mount_info, nfs_mod);
|
struct nfs_server *server = nfs_create_server(mount_info);
|
||||||
/* Create a client RPC handle for the NFS v3 ACL management interface */
|
/* Create a client RPC handle for the NFS v3 ACL management interface */
|
||||||
if (!IS_ERR(server))
|
if (!IS_ERR(server))
|
||||||
nfs_init_server_aclclient(server);
|
nfs_init_server_aclclient(server);
|
||||||
|
|
|
@ -1112,8 +1112,7 @@ static int nfs4_init_server(struct nfs_server *server,
|
||||||
*/
|
*/
|
||||||
/*struct nfs_server *nfs4_create_server(const struct nfs_parsed_mount_data *data,
|
/*struct nfs_server *nfs4_create_server(const struct nfs_parsed_mount_data *data,
|
||||||
struct nfs_fh *mntfh)*/
|
struct nfs_fh *mntfh)*/
|
||||||
struct nfs_server *nfs4_create_server(struct nfs_mount_info *mount_info,
|
struct nfs_server *nfs4_create_server(struct nfs_mount_info *mount_info)
|
||||||
struct nfs_subversion *nfs_mod)
|
|
||||||
{
|
{
|
||||||
struct nfs_server *server;
|
struct nfs_server *server;
|
||||||
bool auth_probe;
|
bool auth_probe;
|
||||||
|
|
|
@ -205,7 +205,7 @@ struct dentry *nfs4_try_mount(int flags, const char *dev_name,
|
||||||
|
|
||||||
dfprintk(MOUNT, "--> nfs4_try_mount()\n");
|
dfprintk(MOUNT, "--> nfs4_try_mount()\n");
|
||||||
|
|
||||||
res = do_nfs4_mount(nfs4_create_server(mount_info, &nfs_v4),
|
res = do_nfs4_mount(nfs4_create_server(mount_info),
|
||||||
flags, mount_info,
|
flags, mount_info,
|
||||||
data->nfs_server.hostname,
|
data->nfs_server.hostname,
|
||||||
data->nfs_server.export_path);
|
data->nfs_server.export_path);
|
||||||
|
|
|
@ -1820,8 +1820,7 @@ static int nfs_request_mount(struct nfs_parsed_mount_data *args,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct nfs_server *nfs_try_mount_request(struct nfs_mount_info *mount_info,
|
static struct nfs_server *nfs_try_mount_request(struct nfs_mount_info *mount_info)
|
||||||
struct nfs_subversion *nfs_mod)
|
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
@ -1831,6 +1830,7 @@ static struct nfs_server *nfs_try_mount_request(struct nfs_mount_info *mount_inf
|
||||||
struct nfs_parsed_mount_data *args = mount_info->parsed;
|
struct nfs_parsed_mount_data *args = mount_info->parsed;
|
||||||
rpc_authflavor_t authlist[NFS_MAX_SECFLAVORS];
|
rpc_authflavor_t authlist[NFS_MAX_SECFLAVORS];
|
||||||
unsigned int authlist_len = ARRAY_SIZE(authlist);
|
unsigned int authlist_len = ARRAY_SIZE(authlist);
|
||||||
|
struct nfs_subversion *nfs_mod = mount_info->nfs_mod;
|
||||||
|
|
||||||
status = nfs_request_mount(args, mount_info->mntfh, authlist,
|
status = nfs_request_mount(args, mount_info->mntfh, authlist,
|
||||||
&authlist_len);
|
&authlist_len);
|
||||||
|
@ -1847,7 +1847,7 @@ static struct nfs_server *nfs_try_mount_request(struct nfs_mount_info *mount_inf
|
||||||
args->selected_flavor);
|
args->selected_flavor);
|
||||||
if (status)
|
if (status)
|
||||||
return ERR_PTR(status);
|
return ERR_PTR(status);
|
||||||
return nfs_mod->rpc_ops->create_server(mount_info, nfs_mod);
|
return nfs_mod->rpc_ops->create_server(mount_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1874,7 +1874,7 @@ static struct nfs_server *nfs_try_mount_request(struct nfs_mount_info *mount_inf
|
||||||
}
|
}
|
||||||
dfprintk(MOUNT, "NFS: attempting to use auth flavor %u\n", flavor);
|
dfprintk(MOUNT, "NFS: attempting to use auth flavor %u\n", flavor);
|
||||||
args->selected_flavor = flavor;
|
args->selected_flavor = flavor;
|
||||||
server = nfs_mod->rpc_ops->create_server(mount_info, nfs_mod);
|
server = nfs_mod->rpc_ops->create_server(mount_info);
|
||||||
if (!IS_ERR(server))
|
if (!IS_ERR(server))
|
||||||
return server;
|
return server;
|
||||||
}
|
}
|
||||||
|
@ -1890,7 +1890,7 @@ static struct nfs_server *nfs_try_mount_request(struct nfs_mount_info *mount_inf
|
||||||
/* Last chance! Try AUTH_UNIX */
|
/* Last chance! Try AUTH_UNIX */
|
||||||
dfprintk(MOUNT, "NFS: attempting to use auth flavor %u\n", RPC_AUTH_UNIX);
|
dfprintk(MOUNT, "NFS: attempting to use auth flavor %u\n", RPC_AUTH_UNIX);
|
||||||
args->selected_flavor = RPC_AUTH_UNIX;
|
args->selected_flavor = RPC_AUTH_UNIX;
|
||||||
return nfs_mod->rpc_ops->create_server(mount_info, nfs_mod);
|
return nfs_mod->rpc_ops->create_server(mount_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct dentry *nfs_fs_mount_common(int, const char *, struct nfs_mount_info *);
|
static struct dentry *nfs_fs_mount_common(int, const char *, struct nfs_mount_info *);
|
||||||
|
@ -1900,9 +1900,9 @@ struct dentry *nfs_try_mount(int flags, const char *dev_name,
|
||||||
{
|
{
|
||||||
struct nfs_subversion *nfs_mod = mount_info->nfs_mod;
|
struct nfs_subversion *nfs_mod = mount_info->nfs_mod;
|
||||||
if (mount_info->parsed->need_mount)
|
if (mount_info->parsed->need_mount)
|
||||||
mount_info->server = nfs_try_mount_request(mount_info, nfs_mod);
|
mount_info->server = nfs_try_mount_request(mount_info);
|
||||||
else
|
else
|
||||||
mount_info->server = nfs_mod->rpc_ops->create_server(mount_info, nfs_mod);
|
mount_info->server = nfs_mod->rpc_ops->create_server(mount_info);
|
||||||
|
|
||||||
return nfs_fs_mount_common(flags, dev_name, mount_info);
|
return nfs_fs_mount_common(flags, dev_name, mount_info);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1722,7 +1722,7 @@ struct nfs_rpc_ops {
|
||||||
struct nfs_client *(*init_client) (struct nfs_client *,
|
struct nfs_client *(*init_client) (struct nfs_client *,
|
||||||
const struct nfs_client_initdata *);
|
const struct nfs_client_initdata *);
|
||||||
void (*free_client) (struct nfs_client *);
|
void (*free_client) (struct nfs_client *);
|
||||||
struct nfs_server *(*create_server)(struct nfs_mount_info *, struct nfs_subversion *);
|
struct nfs_server *(*create_server)(struct nfs_mount_info *);
|
||||||
struct nfs_server *(*clone_server)(struct nfs_server *, struct nfs_fh *,
|
struct nfs_server *(*clone_server)(struct nfs_server *, struct nfs_fh *,
|
||||||
struct nfs_fattr *, rpc_authflavor_t);
|
struct nfs_fattr *, rpc_authflavor_t);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue