Re: kexportfs and knfsd

Anders Hammarquist (iko@netg.se)
Fri, 04 Sep 1998 12:22:02 +0200


> On Wed, 2 Sep 1998, Anders Hammarquist wrote:
>
> > >From what I can see, kexportfs suuports wildcard, subnet and netgroups
> > >as hostname. What else do you have in mind?
> >
> > Actually, there is a slight glitch with using wildcards (and possibly
> > others, though I haven't tried them), since the way it is implemented is
> > that mountd adds explicit exports for any host which mounts something
> > matching a wildcard export. If you reinitialize the export list (eg
> > kexportfs -ua; kexportfs -a) any client that had mounted something
> > exported with a wildcard will have to remount it. I have also seen this
> > on reboots of the server (though not consistently, so I suspect it has
> > to xtab surviving or not).
>
> Anders,
>
> You are not kidding. I just tried this - what a mess. It pulls the mount
> right out from underneath the client, which then cannot recover! Worse
> yet, the client stays convinced that the vanished mount is busy. You
> cannot umount and retry..

Hmm, yes, if you have something on the client using the mount you get
stuck. (Have you tried -o remount? Not that it's a solution really)

> What if we compare in-memory mount data with /etc/exports and refuse to
> remove anything not present in that file and/or not specifically forced
> with a command line flag? Seems easy enough, but perhaps I'm overlooking
> something.

This will not work, as all exports need to be revoked in order for the
server to be able to umount an exported filesystem. If we do this, the
server will not be able to do a clean shutdown. I suppose that if we use
the 'really remove all in-memory exports' on shutdown and remember those
exports across the boot, it could work. It feels messy though, and there
might be race conditions that result in clients breaking if they issue a
request just before shutdown or just after boot.

What I see as a possible solution (though not necessarily easy to implement) is to have knfsd ask mountd what to do with any getfh for something that is not in the in-memory export list.

Regards,
/Anders

-- 
 -- Of course I'm crazy, but that doesn't mean I'm wrong.
Anders Hammarquist   |       Mud at Kingdoms        | iko@netg.se
NetGuide Scandinavia |   telnet kingdoms.se 1812    | Fax: +46 31 50 79 39
http://www.netg.se   |                              | Tel: +46 31 50 79 40

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/faq.html