From: David Teigland <teigland@redhat.com>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: lockd and lock cancellation
Date: Fri, 9 Apr 2010 15:50:05 -0500 [thread overview]
Message-ID: <20100409205005.GB11823@redhat.com> (raw)
In-Reply-To: <4BBF8D25.7050506@oracle.com>
On Fri, Apr 09, 2010 at 04:25:09PM -0400, Chuck Lever wrote:
> >But, for all the kernel work on these nfs/gfs/dlm hooks, there's a larger
> >issue that no one is working on AFAIK: the mechanisms for recovering
> >client locks on remaining gfs nodes when one gfs node fails. That would
> >take a lot of work, and until it's done all the kernel apis will be a moot
> >point since clustered nfs locks on gfs will be unusable.
>
> To support IPv6, I've studied and modified the NFSv2/v3 lock
> recovery mechanisms quite a bit recently. What kernel APIs do you
> think would be needed to manage cluster lock recovery? Just
> something to release stale locks on a single node?
I only have a general idea of what needs to be done; I think Wendy Cheng
may have written a more detailed TODO list a few years ago. The main
problem is that when a gfs node fails, the other gfs nodes purge all
the posix locks that it held. In the case of nfs that's a problem, of
course, because the plocks being purged didn't finally belong to that
node/server but to the clients connected to it. The clients are still
alive and either failing over to an alternate gfs/nfs server or waiting
for the failed server to return.
So, when a gfs/nfs node/server fails, the remaining gfs servers need to
reclaim locks from the nfs clients that were connected to it, and insert
these locks into the gfs/dlm posix lock table. That recovery of client
locks needs to happen more or less during the grace period, after the
purging of locks from the failed node and before any locks are granted.
Basically, nfs lock recovery needs to be integrated with gfs/dlm lock
recovery.
Dave
next prev parent reply other threads:[~2010-04-09 20:50 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-09 19:40 lockd and lock cancellation David Teigland
2010-04-09 20:25 ` Chuck Lever
2010-04-09 20:50 ` David Teigland [this message]
-- strict thread matches above, loose matches on Subject: below --
2010-04-01 12:16 Steven Whitehouse
2010-04-01 12:40 ` Rob Gardner
2010-04-01 13:13 ` Steven Whitehouse
2010-04-01 14:07 ` Rob Gardner
2010-04-01 15:56 ` 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=20100409205005.GB11823@redhat.com \
--to=teigland@redhat.com \
--cc=chuck.lever@oracle.com \
--cc=linux-nfs@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox