Subject: RE: Interface to change NFS exports
To: None <tech-kern@NetBSD.org>
From: Gordon Waidhofer <gww@traakan.com>
List: tech-kern
Date: 09/11/2005 21:37:14
> > I think all that would be needed would be for there to be a way 
> > to upload
> > multiple export entries at once. That way we can say, "here, 
> > this is the new export list."
> > 
> > I agree that all Julio would need to do now is think about how we add
> > multiple entries at once, and we'd be prepared for this in the future.
> 
> If we're making a "shopping list" of changes we'd like to see here... ;)
> 
> When checking to see if an NFS export is allowed, Solaris appears
> to do a lookup of the IP address at the time the mount request is made, 
> rather than building a table of IP addresses for the hosts at the 
> time mountd is run (as NetBSD does)....
> 
> But IMO it'd be way cool if NetBSD could do the same as Solaris and 
> delay the lookup of the IP address until the point where the mount 
> request is made... 
> 

This is an educated guess from the way we do things and
from a passing comment during a chat with one of the Solaris
folks.....

The upcall is made by the NFS server daemon to authorize
an access (rather than mount time). Exports are maintained
in a kernel resident cache and the upcall is made on a miss.
This makes things seemless upon a server reboot -- no need for
the client to repeat the MOUNT request nor for the server to
simulate it. This scales extremely well because the entire list
of hosts and patterns need not be installed at one time. After
changing /etc/exports, just flush the cache and things sort
themselves out in good time.

It is a big job, though. A tear up. Probably not a near term thing.

Just changing the way mountd works so that mount(2) is not
overloaded would be a terrific step. Just make mountd work in
a fs-type generic way. I'd hate to see that held up by protracted
pursuit of the ideal.

Regards,
	-gww