Sorry, I does look like it indeed solved the problem. Clearly, I have
missed something in my analysis of the codebase. In any case, thanks a
lot. 

Good night,

Ani


> -----Original Message-----
> From: Neil Brown [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, February 06, 2008 9:22 PM
> To: Anirban Sinha
> Cc: Greg Banks; [email protected]
> Subject: RE: kernel exports table flushes out on running exportfs -a
> over mips
> 
> On Thursday January 31, [EMAIL PROTECTED] wrote:
> > >
> > > Does the MIPS box have the /proc/fs/nfsd/ filesystem mounted?
> >
> > Ahh, I see what you mean. Yes, it is mounted, both /proc/fs/nfsd and
> > /proc/fs/nfs. However, I can see from the code that
check_new_cache()
> > checks for a file "filehandle" which does not exist in that
location.
> To
> > be dead sure, I instrumented the code to insert a perror and it
> returns
> > "no such file or directory". The new_cache flag remains 0. Is this
> some
> > sort of kernel bug?
> 
> OK, that means that /proc/fs/nfs is *not* mounted.
> 
> /proc is mounted, and it contains several directories including
> /proc/fs/nfs and proc/fs/nfsd.
> 
> To get modern NFS service, you need to
>    mount -t nfsd nfsd /proc/fs/nfsd
> 
> before running any nfsd related programs (e.g. mountd, nfsd).
> Most distro do that in their startup scripts.  It seems you are
> missing this.
> 
> However it should still work.  It seems that it doesn't.
> I tried without /proc/fs/nfsd mounted and got the same result as you.
> It seems that we broke things when /var/lib/nfs/rmtab was changed to
> store IP addresses rather than host names.
> 
> The following patch to nfs-utils will fix it.   Or you can just mount
> the 'nfsd' filesystem as above.
> 
> NeilBrown
> 
> 
> 
> diff --git a/support/export/client.c b/support/export/client.c
> index 1cb242f..e96f5e0 100644
> --- a/support/export/client.c
> +++ b/support/export/client.c
> @@ -462,5 +462,5 @@ client_gettype(char *ident)
>       sp++; if(!isdigit(*sp) || strtoul(sp, &sp, 10) > 255 || *sp !=
> '.') return MCL_FQDN;
>       sp++; if(!isdigit(*sp) || strtoul(sp, &sp, 10) > 255 || *sp !=
> '\0') return MCL_FQDN;
>       /* we lie here a bit. but technically N.N.N.N == N.N.N.N/32 :)
*/
> -     return MCL_SUBNETWORK;
> +     return MCL_FQDN;
>  }
-
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to