From: "Robert Milkowski" <rmilkowski@gmail.com>
To: "'Chuck Lever'" <chuck.lever@oracle.com>,
"'Trond Myklebust'" <trondmy@hammerspace.com>
Cc: "'Linux NFS Mailing List'" <linux-nfs@vger.kernel.org>,
"'Trond Myklebust'" <trond.myklebust@hammerspace.com>,
"'Anna Schumaker'" <anna.schumaker@netapp.com>,
<linux-kernel@vger.kernel.org>
Subject: RE: [PATCH v3] NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals
Date: Mon, 20 Jan 2020 17:55:00 -0000 [thread overview]
Message-ID: <084f01d5cfba$bc5c4d10$3514e730$@gmail.com> (raw)
In-Reply-To: <D82A1590-FAA3-47C5-B198-937ED88EF71C@oracle.com>
> -----Original Message-----
> From: Chuck Lever <chuck.lever@oracle.com>
> Sent: 30 December 2019 15:37
> To: Robert Milkowski <rmilkowski@gmail.com>
> Cc: Linux NFS Mailing List <linux-nfs@vger.kernel.org>; Trond Myklebust
> <trond.myklebust@hammerspace.com>; Anna Schumaker
> <anna.schumaker@netapp.com>; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH v3] NFSv4.0: nfs4_do_fsinfo() should not do implicit
> lease renewals
>
>
>
> > On Dec 30, 2019, at 10:20 AM, Robert Milkowski <rmilkowski@gmail.com>
> wrote:
> >
> > From: Robert Milkowski <rmilkowski@gmail.com>
> >
> > Currently, each time nfs4_do_fsinfo() is called it will do an implicit
> > NFS4 lease renewal, which is not compliant with the NFS4
> specification.
> > This can result in a lease being expired by an NFS server.
> >
> > Commit 83ca7f5ab31f ("NFS: Avoid PUTROOTFH when managing leases")
> > introduced implicit client lease renewal in nfs4_do_fsinfo(), which
> > can result in the NFSv4.0 lease to expire on a server side, and
> > servers returning NFS4ERR_EXPIRED or NFS4ERR_STALE_CLIENTID.
> >
> > This can easily be reproduced by frequently unmounting a sub-mount,
> > then stat'ing it to get it mounted again, which will delay or even
> > completely prevent client from sending RENEW operations if no other
> > NFS operations are issued. Eventually nfs server will expire client's
> > lease and return an error on file access or next RENEW.
> >
> > This can also happen when a sub-mount is automatically unmounted due
> > to inactivity (after nfs_mountpoint_expiry_timeout), then it is
> > mounted again via stat(). This can result in a short window during
> > which client's lease will expire on a server but not on a client.
> > This specific case was observed on production systems.
> >
> > This patch makes an explicit lease renewal instead of an implicit one,
> > by adding RENEW to a compound operation issued by nfs4_do_fsinfo(),
> > similarly to NFSv4.1 which adds SEQUENCE operation.
> >
> > Fixes: 83ca7f5ab31f ("NFS: Avoid PUTROOTFH when managing leases")
> > Signed-off-by: Robert Milkowski <rmilkowski@gmail.com>
>
> Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
>
>
How do we progress it further?
--
Robert Milkowski
next prev parent reply other threads:[~2020-01-20 17:55 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-30 15:20 [PATCH v3] NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals Robert Milkowski
2019-12-30 15:36 ` Chuck Lever
2020-01-20 17:55 ` Robert Milkowski [this message]
2020-01-22 19:10 ` Schumaker, Anna
2020-01-22 19:55 ` Robert Milkowski
2020-01-23 19:08 ` Trond Myklebust
2020-01-27 14:45 ` Robert Milkowski
2020-01-27 15:05 ` Chuck Lever
2020-01-27 15:34 ` Robert Milkowski
2020-01-27 15:54 ` Trond Myklebust
2020-01-27 17:26 ` Robert Milkowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='084f01d5cfba$bc5c4d10$3514e730$@gmail.com' \
--to=rmilkowski@gmail.com \
--cc=anna.schumaker@netapp.com \
--cc=chuck.lever@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=trond.myklebust@hammerspace.com \
--cc=trondmy@hammerspace.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.