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

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

 



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