From: Frank van Maarseveen <frankvm@frankvm.com>
To: cluster-devel.redhat.com
Subject: [NFS] [Cluster-devel] [PATCH 0/4 Revised] NLM - lock failover
Date: Fri, 27 Apr 2007 20:34:49 -0000 [thread overview]
Message-ID: <20070427203444.GA28874@janus> (raw)
In-Reply-To: <46321870.7000607@redhat.com>
On Fri, Apr 27, 2007 at 11:36:16AM -0400, Wendy Cheng wrote:
> J. Bruce Fields wrote:
> > On Fri, Apr 27, 2007 at 03:17:10PM +0100, Christoph Hellwig wrote:
> >
> >> In fact couldn't this be treated as a reexport with a NFSEXP_ flag
> >> meaning drop all locks to avoid creating new interfaces?
> >>
> >
> > Off hand, I can't see any reason why that wouldn't work. The code to
> > handle it would probably go in fs/nfsd/export.c:svc_export_parse().
> >
> >
> Sign :( ... folks, we go back to the loop again. That *was* my first
> proposal ...
I'm quite interested in _any_ patch which would allow me to drop
the locks obtained by NFS clients on a specific export, either by (1)
"exportfs -uh" or by (2) "echo /some/path > /proc/fs/nfsd/nlm_drop_lock"
as Neil mentioned.
I want to migrate virtual(*) NFS servers _including_ the locks without
having to tear down the whole machine. In my case "migration" is a sort
of scheduled failover: no HA or clusters involved.
At first, the "exportfs -uh" proposal (maybe fsid driven) seems "the
right thing" because after unexporting there's no valid case to preserve
the locks AFAICS. Unexport implies EACCES for subsequent NFS accesses
anyway and unexporting /cdrom for example is _required_ in order to be
able to umount and eject the thing. As it stands today, unexporting is
not even enough to be able to unmount it and that's not good. (the need
to having to unexport a /cdrom before being able to eject it is actually
a problem on its own -- a separate issue).
So why not drop the locks always upon unexport? Stupid question of course
because exporting anything will not send out any sm notifications so
that would break symmetry.
I'd prefer (2) "echo /some/path > /proc/fs/nfsd/nlm_drop_lock" because:
- Tying the -h (drop locks) option to -u (unexport) is too restrictive IMO.
For one thing, there's a bug in the linux NFS client locking code (I
reported this earlier) which results in locks not being removed from
the server. It was not too difficult to reproduce and programs on the
client will wait forever due to this. To handle these kind of situations
I need (2) on the server.
- (2) may be useful for other NFS server setups: it is inherently more
flexible.
- (2) does not depend on nfs-utils. It's simpler.
(*) virtual in this case means a UUID or IP based fsid= option and an
additional IP address on eth0 per export entry, such, that it becomes
possible to move an export entry + disk partition + local mount to
different hardware without needing to remount it on all <large number>
NFS clients.
--
Frank
WARNING: multiple messages have this Message-ID (diff)
From: Frank van Maarseveen <frankvm@frankvm.com>
To: Wendy Cheng <wcheng@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>,
cluster-devel@redhat.com, Jeff Layton <jlayton@redhat.com>,
Neil Brown <neilb@suse.de>,
"J. Bruce Fields" <bfields@fieldses.org>,
nfs@lists.sourceforge.net
Subject: Re: [Cluster-devel] [PATCH 0/4 Revised] NLM - lock failover
Date: Fri, 27 Apr 2007 22:34:45 +0200 [thread overview]
Message-ID: <20070427203444.GA28874@janus> (raw)
In-Reply-To: <46321870.7000607@redhat.com>
On Fri, Apr 27, 2007 at 11:36:16AM -0400, Wendy Cheng wrote:
> J. Bruce Fields wrote:
> > On Fri, Apr 27, 2007 at 03:17:10PM +0100, Christoph Hellwig wrote:
> >
> >> In fact couldn't this be treated as a reexport with a NFSEXP_ flag
> >> meaning drop all locks to avoid creating new interfaces?
> >>
> >
> > Off hand, I can't see any reason why that wouldn't work. The code to
> > handle it would probably go in fs/nfsd/export.c:svc_export_parse().
> >
> >
> Sign :( ... folks, we go back to the loop again. That *was* my first
> proposal ...
I'm quite interested in _any_ patch which would allow me to drop
the locks obtained by NFS clients on a specific export, either by (1)
"exportfs -uh" or by (2) "echo /some/path > /proc/fs/nfsd/nlm_drop_lock"
as Neil mentioned.
I want to migrate virtual(*) NFS servers _including_ the locks without
having to tear down the whole machine. In my case "migration" is a sort
of scheduled failover: no HA or clusters involved.
At first, the "exportfs -uh" proposal (maybe fsid driven) seems "the
right thing" because after unexporting there's no valid case to preserve
the locks AFAICS. Unexport implies EACCES for subsequent NFS accesses
anyway and unexporting /cdrom for example is _required_ in order to be
able to umount and eject the thing. As it stands today, unexporting is
not even enough to be able to unmount it and that's not good. (the need
to having to unexport a /cdrom before being able to eject it is actually
a problem on its own -- a separate issue).
So why not drop the locks always upon unexport? Stupid question of course
because exporting anything will not send out any sm notifications so
that would break symmetry.
I'd prefer (2) "echo /some/path > /proc/fs/nfsd/nlm_drop_lock" because:
- Tying the -h (drop locks) option to -u (unexport) is too restrictive IMO.
For one thing, there's a bug in the linux NFS client locking code (I
reported this earlier) which results in locks not being removed from
the server. It was not too difficult to reproduce and programs on the
client will wait forever due to this. To handle these kind of situations
I need (2) on the server.
- (2) may be useful for other NFS server setups: it is inherently more
flexible.
- (2) does not depend on nfs-utils. It's simpler.
(*) virtual in this case means a UUID or IP based fsid= option and an
additional IP address on eth0 per export entry, such, that it becomes
possible to move an export entry + disk partition + local mount to
different hardware without needing to remount it on all <large number>
NFS clients.
--
Frank
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
next prev parent reply other threads:[~2007-04-27 20:34 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-05 21:50 [Cluster-devel] [PATCH 0/4 Revised] NLM - lock failover Wendy Cheng
2007-04-05 21:50 ` Wendy Cheng
2007-04-11 17:01 ` [Cluster-devel] Re: [NFS] " J. Bruce Fields
2007-04-11 17:01 ` J. Bruce Fields
2007-04-17 19:30 ` [Cluster-devel] " Wendy Cheng
2007-04-17 19:30 ` Wendy Cheng
2007-04-18 18:56 ` [Cluster-devel] " Wendy Cheng
2007-04-18 18:56 ` Wendy Cheng
2007-04-18 19:46 ` [Cluster-devel] " Wendy Cheng
2007-04-18 19:46 ` Wendy Cheng
2007-04-19 14:41 ` [Cluster-devel] Re: [NFS] " Christoph Hellwig
2007-04-19 14:41 ` Christoph Hellwig
2007-04-19 15:08 ` [Cluster-devel] Re: [NFS] " Wendy Cheng
2007-04-19 15:08 ` Wendy Cheng
[not found] ` <message from Wendy Cheng on Tuesday April 17>
2007-04-19 7:04 ` [Cluster-devel] " Neil Brown
2007-04-19 7:04 ` Neil Brown
2007-04-19 14:53 ` Wendy Cheng
2007-04-19 14:53 ` Wendy Cheng
2007-04-24 3:30 ` Wendy Cheng
2007-04-24 3:30 ` Wendy Cheng
[not found] ` <message from Wendy Cheng on Monday April 23>
2007-04-24 5:52 ` [NFS] " Neil Brown
2007-04-24 5:52 ` Neil Brown
2007-04-26 4:35 ` [NFS] " Wendy Cheng
2007-04-26 4:35 ` Wendy Cheng
[not found] ` <message from Wendy Cheng on Thursday April 26>
2007-04-26 5:43 ` [NFS] " Neil Brown
2007-04-26 5:43 ` Neil Brown
2007-04-27 2:24 ` [NFS] " Wendy Cheng
2007-04-27 2:24 ` Wendy Cheng
2007-04-27 6:00 ` [NFS] " Neil Brown
2007-04-27 6:00 ` Neil Brown
2007-04-27 11:15 ` [NFS] " Jeff Layton
2007-04-27 11:15 ` Jeff Layton
[not found] ` <message from Jeff Layton on Friday April 27>
2007-04-27 12:40 ` [NFS] " Neil Brown
2007-04-27 12:40 ` Neil Brown
2007-04-27 13:42 ` Jeff Layton
2007-04-27 18:57 ` [NFS] " Jeff Layton
2007-04-27 14:17 ` Christoph Hellwig
2007-04-27 14:17 ` Christoph Hellwig
2007-04-27 15:42 ` J. Bruce Fields
2007-04-27 15:43 ` [NFS] " J. Bruce Fields
2007-04-27 15:36 ` Wendy Cheng
2007-04-27 15:36 ` Wendy Cheng
2007-04-27 16:31 ` J. Bruce Fields
2007-04-27 16:31 ` [NFS] " J. Bruce Fields
[not found] ` <message from J. Bruce Fields on Friday April 27>
2007-04-27 22:22 ` Neil Brown
2007-04-27 22:22 ` Neil Brown
2007-04-29 20:13 ` J. Bruce Fields
2007-04-29 20:14 ` [NFS] " J. Bruce Fields
[not found] ` <message from J. Bruce Fields on Sunday April 29>
2007-04-29 23:10 ` Neil Brown
2007-04-29 23:10 ` Neil Brown
2007-04-30 5:19 ` [NFS] " Wendy Cheng
2007-04-30 5:19 ` Wendy Cheng
2007-05-04 18:42 ` [NFS] " J. Bruce Fields
2007-05-04 18:42 ` J. Bruce Fields
2007-05-04 21:35 ` [NFS] " Wendy Cheng
2007-05-04 21:35 ` Wendy Cheng
2007-04-27 20:34 ` Frank van Maarseveen [this message]
2007-04-27 20:34 ` [NFS] " Frank van Maarseveen
2007-04-28 3:55 ` Wendy Cheng
2007-04-28 3:55 ` Wendy Cheng
[not found] ` <message from Wendy Cheng on Friday April 27>
2007-04-28 4:51 ` [NFS] " Neil Brown
2007-04-28 4:51 ` Neil Brown
2007-04-28 5:26 ` Marc Eshel
2007-04-28 5:27 ` [NFS] " Marc Eshel
2007-04-28 12:33 ` Frank van Maarseveen
2007-04-28 12:33 ` [NFS] " Frank van Maarseveen
2007-04-27 15:12 ` Jeff Layton
2007-04-27 15:12 ` [NFS] " Jeff Layton
2007-04-25 14:18 ` [Cluster-devel] Re: [NFS] " J. Bruce Fields
2007-04-25 14:18 ` J. Bruce Fields
2007-04-25 14:10 ` [Cluster-devel] Re: [NFS] " Wendy Cheng
2007-04-25 14:10 ` Wendy Cheng
2007-04-25 15:21 ` [Cluster-devel] Re: [NFS] " Marc Eshel
2007-04-25 15:21 ` Marc Eshel
2007-04-25 15:19 ` [Cluster-devel] Re: [NFS] " Wendy Cheng
2007-04-25 15:19 ` Wendy Cheng
2007-04-25 15:39 ` [Cluster-devel] Re: [NFS] " Wendy Cheng
2007-04-25 15:39 ` [Cluster-devel] " Wendy Cheng
2007-04-25 15:59 ` [Cluster-devel] Re: [NFS] " J. Bruce Fields
2007-04-25 15:59 ` J. Bruce Fields
2007-04-25 15:52 ` [Cluster-devel] Re: [NFS] " Wendy Cheng
2007-04-25 15:52 ` Wendy Cheng
2011-11-30 10:13 ` Pavel
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=20070427203444.GA28874@janus \
--to=frankvm@frankvm.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.