Re: [PATCH] [fs/9p] Make access=client default in 9p2000.L protocol

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/27/2011 6:28 AM, Aneesh Kumar K. V wrote:
> On Wed, 26 Jan 2011 22:55:39 -0800, "Venkateswararao Jujjuri (JV)" <jvrao@xxxxxxxxxxxxxxxxxx> wrote:
>> Current code sets access=user as default for all protocol versions.
>> This patch chagnes it to "client" only for dotl.
>>
>> User can always specify particular access mode with -o access= option.
>> No change there.
>>
>> Signed-off-by: Venkateswararao Jujjuri <jvrao@xxxxxxxxxxxxxxxxxx>
>> ---
>>  fs/9p/v9fs.c |   21 ++++++++++++---------
>>  1 files changed, 12 insertions(+), 9 deletions(-)
>>
>> diff --git a/fs/9p/v9fs.c b/fs/9p/v9fs.c
>> index 7823a7c..b9f6c34 100644
>> --- a/fs/9p/v9fs.c
>> +++ b/fs/9p/v9fs.c
>> @@ -263,19 +263,12 @@ struct p9_fid *v9fs_session_init(struct v9fs_session_info *v9ses,
>>  	list_add(&v9ses->slist, &v9fs_sessionlist);
>>  	spin_unlock(&v9fs_sessionlist_lock);
>>
>> -	v9ses->flags = V9FS_ACCESS_USER;
>>  	strcpy(v9ses->uname, V9FS_DEFUSER);
>>  	strcpy(v9ses->aname, V9FS_DEFANAME);
>>  	v9ses->uid = ~0;
>>  	v9ses->dfltuid = V9FS_DEFUID;
>>  	v9ses->dfltgid = V9FS_DEFGID;
>>
>> -	rc = v9fs_parse_options(v9ses, data);
>> -	if (rc < 0) {
>> -		retval = rc;
>> -		goto error;
>> -	}
>> -
> 
> Now we do v9fs option parsing after client_create ? is that ok ?

Apparently yes. They parse the same buffer .. but no problem in switching
May be we can run more testing..but it did not appear to be a problem.
> 
>>  	v9ses->clnt = p9_client_create(dev_name, data);
>>  	if (IS_ERR(v9ses->clnt)) {
>>  		retval = PTR_ERR(v9ses->clnt);
>> @@ -284,10 +277,20 @@ struct p9_fid *v9fs_session_init(struct v9fs_session_info *v9ses,
>>  		goto error;
>>  	}
>>
>> -	if (p9_is_proto_dotl(v9ses->clnt))
>> +	v9ses->flags = V9FS_ACCESS_USER;
>> +
>> +	if (p9_is_proto_dotl(v9ses->clnt)) {
>> +		v9ses->flags = V9FS_ACCESS_CLIENT;
>>  		v9ses->flags |= V9FS_PROTO_2000L;
>> -	else if (p9_is_proto_dotu(v9ses->clnt))
>> +	} else if (p9_is_proto_dotu(v9ses->clnt)) {
>>  		v9ses->flags |= V9FS_PROTO_2000U;
>> +	}
>> +
>> +	rc = v9fs_parse_options(v9ses, data);
>> +	if (rc < 0) {
>> +		retval = rc;
>> +		goto error;
> 
> Don't we need a p9_client_destroy there ?

No. v9fs_mount() will take care of this.  v9fs_mount() calls session_init and
session_close
and those routines call client_create and client_destroy.

- JV
> 
>> +	}
>>
>>  	v9ses->maxdata = v9ses->clnt->msize - P9_IOHDRSZ;
>>
> 
> -aneesh


--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux