From: Peter Staubach <staubach@redhat.com>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: hexf <hexiaofeng-U4AKAne5IzAR5TUyvShJeg@public.gmane.org>,
linux-nfs@vger.kernel.org
Subject: Re: about NLM/NSM
Date: Mon, 27 Oct 2008 17:20:46 -0400 [thread overview]
Message-ID: <490630AE.4000807@redhat.com> (raw)
In-Reply-To: <20081027211740.GC25467@fieldses.org>
J. Bruce Fields wrote:
> On Mon, Oct 27, 2008 at 05:14:38PM -0400, Peter Staubach wrote:
>
>> J. Bruce Fields wrote:
>>
>>> On Mon, Oct 27, 2008 at 03:22:57PM -0400, Peter Staubach wrote:
>>>
>>>
>>>> J. Bruce Fields wrote:
>>>>
>>>>
>>>>> On Mon, Oct 27, 2008 at 02:49:27PM +0800, hexf wrote:
>>>>>
>>>>>
>>>>>> We are using nfsv3. Now we meet a demand. If a client which hold a
>>>>>> lock crash, after it reboot, its statd daemon can notify the nfs
>>>>>> server to release the lock. But if this client will not reboot for
>>>>>> some reason(or will reboot after a long time), then the lock it
>>>>>> holding will not be released.In nfsv3 and nlmv4,it seems there is no
>>>>>> time-out mechnism for this situation. How would we solve this
>>>>>> question? My colleague advise me to modify the code of NLM/NSM to meet
>>>>>> this demand,but is seems quite a complicated work.Can you give me some
>>>>>> advice?
>>>>>>
>>>>>>
>>>>> It might be possible to modify the server so that it dropped all locks
>>>>> from a client it hadn't heard from in a while. However, nfsv2/v3
>>>>> clients are not required to contact the server regularly while they hold
>>>>> locks. So you may end up revoking locks held by perfectly good
>>>>> functioning clients.
>>>>>
>>>>> As an ugly workaround, rebooting the server will clear the problem, as
>>>>> it will notify clients to recover their locks on restart, and any dead
>>>>> clients will fail to recover their locks.
>>>>>
>>>>>
>>>>>
>>>> Didn't Wendy Cheng submit some patches to implement a
>>>> "clearlocks" sort of functionality? What happened with
>>>> them?
>>>>
>>>>
>>> Yes, but that's motivated by the case of migrating all clients using one
>>> export; so it'll drop all locks held on a single filesystem, or all
>>> locks acquired using a single server (not client!) ip address.
>>>
>>> So if we want some finer-grained interface then that's yet to be
>>> designed.
>>>
>>>
>> Sorry, I guess that I was remembering incorrectly. I was
>> thinking that she was looking for something like the clearlocks
>> functionality so that file systems could be migrated around
>> cleanly.
>>
>
> That's what she was working on (and we merged), yes.
>
> But it doesn't help clear just the set of locks held by a single client.
>
>
>> It seems for this situation, we could use this sort of variation.
>>
>
> I'm losing track of what those two "this"'s refer to!
>
Sorry -- :-)
For the situation of needing to clear locks belonging to long
dead and not returning clients, we could use a variation of
Wendy's proposal which works using the client IP as the key.
It is a rope with a very large and suspicious looking knot on
the end though...
ps
next prev parent reply other threads:[~2008-10-27 21:20 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-27 6:49 about NLM/NSM hexf
2008-10-27 18:55 ` J. Bruce Fields
2008-10-27 19:22 ` Peter Staubach
2008-10-27 20:13 ` J. Bruce Fields
2008-10-27 21:14 ` Peter Staubach
2008-10-27 21:17 ` J. Bruce Fields
2008-10-27 21:20 ` Peter Staubach [this message]
2008-10-27 22:01 ` J. Bruce Fields
2008-10-28 17:31 ` Frank Filz
2008-10-29 1:20 ` Feng Shuo
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=490630AE.4000807@redhat.com \
--to=staubach@redhat.com \
--cc=bfields@fieldses.org \
--cc=hexiaofeng-U4AKAne5IzAR5TUyvShJeg@public.gmane.org \
--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 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.