Re: [PATCH 1/1] NFSv3: Ignore wcc before ctime attribute

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

 



Is there a problem with 4.10-rc?

> On Jan 17, 2017, at 09:33, Olga Kornievskaia <aglo@xxxxxxxxx> wrote:
> 
> Hi Trond,
> 
> I'd like bring up this issue again as I was asked again that linux
> nfsv3 client experiences poor performance when it receives
> out-of-order write rpcs. If a general change to ignore "before" ctime
> is not acceptable, what about something that is configurable via a
> sysctl perhaps?
> 
> On Fri, Apr 1, 2016 at 4:19 PM, Olga Kornievskaia <kolga@xxxxxxxxxx> wrote:
>> Commit 7c2dad99d60c86ec686b3bfdcb787c450a7ea89f
>> "Don't let the ctime override attribute barriers" introduced a problem
>> of invalidating the cache when receiving in-order WRITE replies. Because
>> ctime is no longer checked then attributes are not updated appropriately
>> and then leads to mismatch of received "before" with what's stored.
>> 
>> Given that sending the wcc attributes is not mandatory (and linux
>> server doesn't), we can ignore the received "before" ctime. It fixes
>> the current problem and also help when we receive out-of-order WRITEs.
>> 
>> Signed-off-by: Olga Kornievskaia <kolga@xxxxxxxxxx>
>> ---
>> fs/nfs/nfs3xdr.c | 2 --
>> 1 file changed, 2 deletions(-)
>> 
>> diff --git a/fs/nfs/nfs3xdr.c b/fs/nfs/nfs3xdr.c
>> index 267126d..feca07f 100644
>> --- a/fs/nfs/nfs3xdr.c
>> +++ b/fs/nfs/nfs3xdr.c
>> @@ -732,14 +732,12 @@ static int decode_wcc_attr(struct xdr_stream *xdr, struct nfs_fattr *fattr)
>>                goto out_overflow;
>> 
>>        fattr->valid |= NFS_ATTR_FATTR_PRESIZE
>> -               | NFS_ATTR_FATTR_PRECHANGE
>>                | NFS_ATTR_FATTR_PREMTIME
>>                | NFS_ATTR_FATTR_PRECTIME;
>> 
>>        p = xdr_decode_size3(p, &fattr->pre_size);
>>        p = xdr_decode_nfstime3(p, &fattr->pre_mtime);
>>        xdr_decode_nfstime3(p, &fattr->pre_ctime);
>> -       fattr->pre_change_attr = nfs_timespec_to_change_attr(&fattr->pre_ctime);
>> 
>>        return 0;
>> out_overflow:
>> --
>> 1.8.3.1
>> 
>> --
>> 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
> 

--
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