From: "J. Bruce Fields" <bfields@fieldses.org>
To: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: linux-nfs@vger.kernel.org
Subject: Re: lock reclaims outside grace period
Date: Tue, 29 Apr 2008 20:03:49 -0400 [thread overview]
Message-ID: <20080430000349.GA32692@fieldses.org> (raw)
In-Reply-To: <1209507531.8321.11.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
On Tue, Apr 29, 2008 at 03:18:51PM -0700, Trond Myklebust wrote:
>
> On Tue, 2008-04-29 at 17:57 -0400, J. Bruce Fields wrote:
> > Current lockd code appears to reject regular locks done during the grace
> > period, but not reclaims that come outside of the grace period.
> >
> > (That's based on inspecting the code--I haven't run tests.)
> >
> > That seems like an obvious bug. (We're not giving the client any way to
> > determine whether conflicting locks might have been granted.)
> >
> > Can we fix it, or is there a chance that people have been depending on
> > this behavior? (Maybe for failing over to an already-active server??)
>
> Sorry, but I really don't care if anyone has been relying on it: that is
> a _major_ bug and needs to be fixed ASAP.
OK, good, I'll do some tests to confirm and then submit a patch.
When I ran across this I checked what specs I could find (mostly
wondering which error to return), and was surprised to find no mention
of this case. For example, from the Open Group XNFS spec
(http://www.opengroup.org/onlinepubs/9629799/):
"If "reclaim" is true, then the server will assume this is a
request to re-establish a previous lock (for example, after the
server has crashed and rebooted). During the grace period the
server will only accept locks with "reclaim" set to true."
But they don't state the converse.
And LCK_DENIED_GRACE_PERIOD "Indicates that the procedure failed because
the server host has recently been rebooted and the server NLM is
re-establishing existing locks, and is not yet ready to accept normal
service requests." But absent an objection I suppose I'll use
LCK_DENIED_GRACE_PERIOD for the other case too.
Anyway, it all made me worry whether ignoring the late-reclaim case was
actually standard behavior. It wouldn't be the only weird thing about
NLM.
--b.
next prev parent reply other threads:[~2008-04-30 0:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-29 21:57 lock reclaims outside grace period J. Bruce Fields
2008-04-29 22:18 ` Trond Myklebust
[not found] ` <1209507531.8321.11.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-04-30 0:03 ` J. Bruce Fields [this message]
2008-04-30 0:45 ` Wendy Cheng
2008-05-02 20:04 ` J. Bruce Fields
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=20080430000349.GA32692@fieldses.org \
--to=bfields@fieldses.org \
--cc=linux-nfs@vger.kernel.org \
--cc=trond.myklebust@fys.uio.no \
/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.