* nfs-utils 1.1.2 + knfsd 2.6.27 (.5) breaks fsid= option
@ 2008-11-12 10:48 Frank van Maarseveen
2008-11-12 13:48 ` Steve Dickson
0 siblings, 1 reply; 7+ messages in thread
From: Frank van Maarseveen @ 2008-11-12 10:48 UTC (permalink / raw)
To: Linux NFS mailing list
Tested on Debian lenny with nfs-kernel-server 1:1.1.2-6lenny1 and a
2.6.27.5 kernel. /etc/exports says:
/mp @general(rw,sync,no_root_squash,no_subtree_check,mp,fsid=2886795869)
After actually using it /proc/fs/nfsd/exports says:
/mp @general(rw,no_root_squash,sync,wdelay,no_subtree_check,fsid=-1408171427,uuid=db4387a6:bed949d0:8f5ef6a2:6a0c
(yes, 2886795869 == (ulong)-1408171427)
However, file handles over the wire now seem to have fsid_type=6
(FSID_UUID16) instead of 1 (FSID_NUM) due to this.
--
Frank
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nfs-utils 1.1.2 + knfsd 2.6.27 (.5) breaks fsid= option
2008-11-12 10:48 nfs-utils 1.1.2 + knfsd 2.6.27 (.5) breaks fsid= option Frank van Maarseveen
@ 2008-11-12 13:48 ` Steve Dickson
[not found] ` <491ADEBF.80900-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Steve Dickson @ 2008-11-12 13:48 UTC (permalink / raw)
To: Frank van Maarseveen; +Cc: Linux NFS mailing list
Frank van Maarseveen wrote:
> Tested on Debian lenny with nfs-kernel-server 1:1.1.2-6lenny1 and a
> 2.6.27.5 kernel. /etc/exports says:
>
> /mp @general(rw,sync,no_root_squash,no_subtree_check,mp,fsid=2886795869)
>
> After actually using it /proc/fs/nfsd/exports says:
>
> /mp @general(rw,no_root_squash,sync,wdelay,no_subtree_check,fsid=-1408171427,uuid=db4387a6:bed949d0:8f5ef6a2:6a0c
>
> (yes, 2886795869 == (ulong)-1408171427)
> However, file handles over the wire now seem to have fsid_type=6
> (FSID_UUID16) instead of 1 (FSID_NUM) due to this.
This is a known problem... The kernel checks UUIDs before FSIDS which cause
FSIDS to be ignored. There are two outstanding proposals to fix this problem.
1) Move two lines in the kernel so FSIDs are checked before UUIDS
2) Change mountd to only send down the FSID or the UUID but
not both as it does today.
Neither proposal has been accepted... yet...
steved.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nfs-utils 1.1.2 + knfsd 2.6.27 (.5) breaks fsid= option
[not found] ` <491ADEBF.80900-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
@ 2008-11-16 20:02 ` J. Bruce Fields
2008-11-16 20:29 ` Frank van Maarseveen
2008-11-16 21:57 ` J. Bruce Fields
0 siblings, 2 replies; 7+ messages in thread
From: J. Bruce Fields @ 2008-11-16 20:02 UTC (permalink / raw)
To: Steve Dickson; +Cc: Frank van Maarseveen, Linux NFS mailing list
On Wed, Nov 12, 2008 at 08:48:47AM -0500, Steve Dickson wrote:
> Frank van Maarseveen wrote:
> > Tested on Debian lenny with nfs-kernel-server 1:1.1.2-6lenny1 and a
> > 2.6.27.5 kernel. /etc/exports says:
> >
> > /mp @general(rw,sync,no_root_squash,no_subtree_check,mp,fsid=2886795869)
> >
> > After actually using it /proc/fs/nfsd/exports says:
> >
> > /mp @general(rw,no_root_squash,sync,wdelay,no_subtree_check,fsid=-1408171427,uuid=db4387a6:bed949d0:8f5ef6a2:6a0c
> >
> > (yes, 2886795869 == (ulong)-1408171427)
> > However, file handles over the wire now seem to have fsid_type=6
> > (FSID_UUID16) instead of 1 (FSID_NUM) due to this.
>
> This is a known problem... The kernel checks UUIDs before FSIDS which cause
> FSIDS to be ignored. There are two outstanding proposals to fix this problem.
> 1) Move two lines in the kernel so FSIDs are checked before UUIDS
> 2) Change mountd to only send down the FSID or the UUID but
> not both as it does today.
>
> Neither proposal has been accepted... yet...
I'd have a mild preference for the 2nd, but I'd first like to understand
why the new behavior is a problem for Frank.
--b.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nfs-utils 1.1.2 + knfsd 2.6.27 (.5) breaks fsid= option
2008-11-16 20:02 ` J. Bruce Fields
@ 2008-11-16 20:29 ` Frank van Maarseveen
2008-11-16 21:59 ` J. Bruce Fields
2008-11-16 21:57 ` J. Bruce Fields
1 sibling, 1 reply; 7+ messages in thread
From: Frank van Maarseveen @ 2008-11-16 20:29 UTC (permalink / raw)
To: J. Bruce Fields; +Cc: Steve Dickson, Linux NFS mailing list
On Sun, Nov 16, 2008 at 03:02:11PM -0500, J. Bruce Fields wrote:
> On Wed, Nov 12, 2008 at 08:48:47AM -0500, Steve Dickson wrote:
> > Frank van Maarseveen wrote:
> > > Tested on Debian lenny with nfs-kernel-server 1:1.1.2-6lenny1 and a
> > > 2.6.27.5 kernel. /etc/exports says:
> > >
> > > /mp @general(rw,sync,no_root_squash,no_subtree_check,mp,fsid=2886795869)
> > >
> > > After actually using it /proc/fs/nfsd/exports says:
> > >
> > > /mp @general(rw,no_root_squash,sync,wdelay,no_subtree_check,fsid=-1408171427,uuid=db4387a6:bed949d0:8f5ef6a2:6a0c
> > >
> > > (yes, 2886795869 == (ulong)-1408171427)
> > > However, file handles over the wire now seem to have fsid_type=6
> > > (FSID_UUID16) instead of 1 (FSID_NUM) due to this.
> >
> > This is a known problem... The kernel checks UUIDs before FSIDS which cause
> > FSIDS to be ignored. There are two outstanding proposals to fix this problem.
> > 1) Move two lines in the kernel so FSIDs are checked before UUIDS
> > 2) Change mountd to only send down the FSID or the UUID but
> > not both as it does today.
> >
> > Neither proposal has been accepted... yet...
>
> I'd have a mild preference for the 2nd, but I'd first like to understand
> why the new behavior is a problem for Frank.
I'm using a patch originally developed by Wendy Cheng for a per-fsid
grace period. It could be triggered by:
echo fsid >/proc/fs/nfsd/nlm_grace_fsid
where the mentioned fsid is the same as in /etc/exports. I'm not
particularly fond of using fsids for this and AFAIK a similar patch for
per-mountpoint grace period is underway. Correct?
--
Frank
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nfs-utils 1.1.2 + knfsd 2.6.27 (.5) breaks fsid= option
2008-11-16 20:02 ` J. Bruce Fields
2008-11-16 20:29 ` Frank van Maarseveen
@ 2008-11-16 21:57 ` J. Bruce Fields
2008-11-17 0:52 ` NeilBrown
1 sibling, 1 reply; 7+ messages in thread
From: J. Bruce Fields @ 2008-11-16 21:57 UTC (permalink / raw)
To: Steve Dickson; +Cc: Frank van Maarseveen, Linux NFS mailing list, Neil Brown
On Sun, Nov 16, 2008 at 03:02:11PM -0500, bfields wrote:
> On Wed, Nov 12, 2008 at 08:48:47AM -0500, Steve Dickson wrote:
> > Frank van Maarseveen wrote:
> > > Tested on Debian lenny with nfs-kernel-server 1:1.1.2-6lenny1 and a
> > > 2.6.27.5 kernel. /etc/exports says:
> > >
> > > /mp @general(rw,sync,no_root_squash,no_subtree_check,mp,fsid=2886795869)
> > >
> > > After actually using it /proc/fs/nfsd/exports says:
> > >
> > > /mp @general(rw,no_root_squash,sync,wdelay,no_subtree_check,fsid=-1408171427,uuid=db4387a6:bed949d0:8f5ef6a2:6a0c
> > >
> > > (yes, 2886795869 == (ulong)-1408171427)
> > > However, file handles over the wire now seem to have fsid_type=6
> > > (FSID_UUID16) instead of 1 (FSID_NUM) due to this.
> >
> > This is a known problem... The kernel checks UUIDs before FSIDS which cause
> > FSIDS to be ignored. There are two outstanding proposals to fix this problem.
> > 1) Move two lines in the kernel so FSIDs are checked before UUIDS
> > 2) Change mountd to only send down the FSID or the UUID but
> > not both as it does today.
> >
> > Neither proposal has been accepted... yet...
>
> I'd have a mild preference for the 2nd,
Maybe I should take that back--Neil, don't we need to pass down the uuid
to match the client-provided filehandle type in the case where they're
giving us uuid-style filehandles? In that case we need to pass down
both so the kernel can choose the desired one. So if we need to fix
this then that would make SteveD's patch the way to go.
--b.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nfs-utils 1.1.2 + knfsd 2.6.27 (.5) breaks fsid= option
2008-11-16 20:29 ` Frank van Maarseveen
@ 2008-11-16 21:59 ` J. Bruce Fields
0 siblings, 0 replies; 7+ messages in thread
From: J. Bruce Fields @ 2008-11-16 21:59 UTC (permalink / raw)
To: Frank van Maarseveen; +Cc: Steve Dickson, Linux NFS mailing list
On Sun, Nov 16, 2008 at 09:29:35PM +0100, Frank van Maarseveen wrote:
> On Sun, Nov 16, 2008 at 03:02:11PM -0500, J. Bruce Fields wrote:
> > On Wed, Nov 12, 2008 at 08:48:47AM -0500, Steve Dickson wrote:
> > > Frank van Maarseveen wrote:
> > > > Tested on Debian lenny with nfs-kernel-server 1:1.1.2-6lenny1 and a
> > > > 2.6.27.5 kernel. /etc/exports says:
> > > >
> > > > /mp @general(rw,sync,no_root_squash,no_subtree_check,mp,fsid=2886795869)
> > > >
> > > > After actually using it /proc/fs/nfsd/exports says:
> > > >
> > > > /mp @general(rw,no_root_squash,sync,wdelay,no_subtree_check,fsid=-1408171427,uuid=db4387a6:bed949d0:8f5ef6a2:6a0c
> > > >
> > > > (yes, 2886795869 == (ulong)-1408171427)
> > > > However, file handles over the wire now seem to have fsid_type=6
> > > > (FSID_UUID16) instead of 1 (FSID_NUM) due to this.
> > >
> > > This is a known problem... The kernel checks UUIDs before FSIDS which cause
> > > FSIDS to be ignored. There are two outstanding proposals to fix this problem.
> > > 1) Move two lines in the kernel so FSIDs are checked before UUIDS
> > > 2) Change mountd to only send down the FSID or the UUID but
> > > not both as it does today.
> > >
> > > Neither proposal has been accepted... yet...
> >
> > I'd have a mild preference for the 2nd, but I'd first like to understand
> > why the new behavior is a problem for Frank.
>
> I'm using a patch originally developed by Wendy Cheng for a per-fsid
> grace period. It could be triggered by:
>
> echo fsid >/proc/fs/nfsd/nlm_grace_fsid
>
> where the mentioned fsid is the same as in /etc/exports. I'm not
> particularly fond of using fsids for this and AFAIK a similar patch for
> per-mountpoint grace period is underway. Correct?
Yes. In the meantime it shouldn't be hard to modify Wendy's patch to
use a filename instead of an fsid--see
fs/nfsd/nfsctl.c:failover_unlock_fs() for an example of an existing nfsd
file that takes a pathname.
But that shouldn't even be necessary--the fsid is still stored with the
filesystem internally, so Wendy's code should still be able to look up
exports using it.
--b.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: nfs-utils 1.1.2 + knfsd 2.6.27 (.5) breaks fsid= option
2008-11-16 21:57 ` J. Bruce Fields
@ 2008-11-17 0:52 ` NeilBrown
0 siblings, 0 replies; 7+ messages in thread
From: NeilBrown @ 2008-11-17 0:52 UTC (permalink / raw)
To: J. Bruce Fields
Cc: Steve Dickson, Frank van Maarseveen, Linux NFS mailing list
On Mon, November 17, 2008 8:57 am, J. Bruce Fields wrote:
> On Sun, Nov 16, 2008 at 03:02:11PM -0500, bfields wrote:
>> On Wed, Nov 12, 2008 at 08:48:47AM -0500, Steve Dickson wrote:
>> > Frank van Maarseveen wrote:
>> > > Tested on Debian lenny with nfs-kernel-server 1:1.1.2-6lenny1 and a
>> > > 2.6.27.5 kernel. /etc/exports says:
>> > >
>> > > /mp
>> @general(rw,sync,no_root_squash,no_subtree_check,mp,fsid=2886795869)
>> > >
>> > > After actually using it /proc/fs/nfsd/exports says:
>> > >
>> > > /mp
>> @general(rw,no_root_squash,sync,wdelay,no_subtree_check,fsid=-1408171427,uuid=db4387a6:bed949d0:8f5ef6a2:6a0c
>> > >
>> > > (yes, 2886795869 == (ulong)-1408171427)
>> > > However, file handles over the wire now seem to have fsid_type=6
>> > > (FSID_UUID16) instead of 1 (FSID_NUM) due to this.
>> >
>> > This is a known problem... The kernel checks UUIDs before FSIDS which
>> cause
>> > FSIDS to be ignored. There are two outstanding proposals to fix this
>> problem.
>> > 1) Move two lines in the kernel so FSIDs are checked before UUIDS
>> > 2) Change mountd to only send down the FSID or the UUID but
>> > not both as it does today.
>> >
>> > Neither proposal has been accepted... yet...
>>
>> I'd have a mild preference for the 2nd,
>
> Maybe I should take that back--Neil, don't we need to pass down the uuid
> to match the client-provided filehandle type in the case where they're
> giving us uuid-style filehandles? In that case we need to pass down
> both so the kernel can choose the desired one. So if we need to fix
> this then that would make SteveD's patch the way to go.
Yes, I seem to be leaning towards option 1 now as well.
We probably never should have given UUIDs to the kernel if an fsid was
given (unless a uuid was given too). In that case we wouldn't have
an issue here.
But as we do, the law of least surprise suggests that when an fsid is
explicitly given, it should be preferred.
So yeah, let's go with Steve's proposal.
NeilBrown
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-11-17 0:52 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-12 10:48 nfs-utils 1.1.2 + knfsd 2.6.27 (.5) breaks fsid= option Frank van Maarseveen
2008-11-12 13:48 ` Steve Dickson
[not found] ` <491ADEBF.80900-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2008-11-16 20:02 ` J. Bruce Fields
2008-11-16 20:29 ` Frank van Maarseveen
2008-11-16 21:59 ` J. Bruce Fields
2008-11-16 21:57 ` J. Bruce Fields
2008-11-17 0:52 ` NeilBrown
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.