9p: remove unnecessary v9fses->options which duplicates the mount string
The mount options string is saved in sb->s_options. This patch removes the redundant duplicating of the mount options. Also, since we are not displaying anything special in show options, we replace v9fs_show_options with generic_show_options for now. Signed-off-by: Abhishek Kulkarni <adkulkar@umail.iu.edu> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
This commit is contained in:

committed by
Eric Van Hensbergen

parent
0aad37ef3d
commit
4b53e4b500
21
fs/9p/v9fs.c
21
fs/9p/v9fs.c
@@ -76,7 +76,7 @@ static const match_table_t tokens = {
|
||||
* Return 0 upon success, -ERRNO upon failure.
|
||||
*/
|
||||
|
||||
static int v9fs_parse_options(struct v9fs_session_info *v9ses)
|
||||
static int v9fs_parse_options(struct v9fs_session_info *v9ses, char *opts)
|
||||
{
|
||||
char *options;
|
||||
substring_t args[MAX_OPT_ARGS];
|
||||
@@ -90,10 +90,10 @@ static int v9fs_parse_options(struct v9fs_session_info *v9ses)
|
||||
v9ses->debug = 0;
|
||||
v9ses->cache = 0;
|
||||
|
||||
if (!v9ses->options)
|
||||
if (!opts)
|
||||
return 0;
|
||||
|
||||
options = kstrdup(v9ses->options, GFP_KERNEL);
|
||||
options = kstrdup(opts, GFP_KERNEL);
|
||||
if (!options) {
|
||||
P9_DPRINTK(P9_DEBUG_ERROR,
|
||||
"failed to allocate copy of option string\n");
|
||||
@@ -206,24 +206,14 @@ struct p9_fid *v9fs_session_init(struct v9fs_session_info *v9ses,
|
||||
v9ses->uid = ~0;
|
||||
v9ses->dfltuid = V9FS_DEFUID;
|
||||
v9ses->dfltgid = V9FS_DEFGID;
|
||||
if (data) {
|
||||
v9ses->options = kstrdup(data, GFP_KERNEL);
|
||||
if (!v9ses->options) {
|
||||
P9_DPRINTK(P9_DEBUG_ERROR,
|
||||
"failed to allocate copy of option string\n");
|
||||
retval = -ENOMEM;
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
|
||||
rc = v9fs_parse_options(v9ses);
|
||||
rc = v9fs_parse_options(v9ses, data);
|
||||
if (rc < 0) {
|
||||
retval = rc;
|
||||
goto error;
|
||||
}
|
||||
|
||||
v9ses->clnt = p9_client_create(dev_name, v9ses->options);
|
||||
|
||||
v9ses->clnt = p9_client_create(dev_name, data);
|
||||
if (IS_ERR(v9ses->clnt)) {
|
||||
retval = PTR_ERR(v9ses->clnt);
|
||||
v9ses->clnt = NULL;
|
||||
@@ -280,7 +270,6 @@ void v9fs_session_close(struct v9fs_session_info *v9ses)
|
||||
|
||||
__putname(v9ses->uname);
|
||||
__putname(v9ses->aname);
|
||||
kfree(v9ses->options);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user