Re: [PATCH] Add missing recording of back channel attrs in nfsd4_session

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

 



On 12/03/2013 12:55 AM, J. Bruce Fields wrote:
> On Tue, Nov 26, 2013 at 10:25:20PM +0800, Kinglong Mee wrote:
>> commit 5b6feee9608dce7afd2646f457c93e612526d1d8 forgot
>> recording the back channel attrs in nfsd4_session.
>>
>> nfsd just check the back channel attars by check_backchannel_attrs,
>> but do not  record it in nfsd4_session in the latest kernel.
> 
> Whoops.  So the current server is returning random uninitialized data in
> those fields, or all zeros?
> 
> It would be easy enough to write a pynfs test for this, I think.

No, server returns right data for nfsd4_encode_create_session encoding
back-channel attrs from struct nfsd4_create_session, not from nfsd4_session.

Without this patch, se_bchannel in struct nfsd4_session contains data with all zeros.

thanks,
Kinglong Mee

>>
>> Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx>
>> ---
>>  fs/nfsd/nfs4state.c | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
>> index 105d6fa..1aed9be 100644
>> --- a/fs/nfsd/nfs4state.c
>> +++ b/fs/nfsd/nfs4state.c
>> @@ -999,6 +999,8 @@ static void init_session(struct svc_rqst *rqstp, struct nfsd4_session *new, stru
>>  	spin_unlock(&nn->client_lock);
>>  	memcpy(&new->se_fchannel, &cses->fore_channel,
>>  			sizeof(struct nfsd4_channel_attrs));
>> +	memcpy(&new->se_bchannel, &cses->back_channel,
>> +			sizeof(struct nfsd4_channel_attrs));
>>  	if (cses->flags & SESSION4_BACK_CHAN) {
>>  		struct sockaddr *sa = svc_addr(rqstp);
>>  		/*
>> -- 
>> 1.8.1.4
>>
> 

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




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux