[RFC,PATCH 0/4] Dynamic Pseudo Root

Steve Dickson SteveD at redhat.com
Fri Dec 7 17:23:37 EST 2007


J. Bruce Fields wrote:
> On Fri, Dec 07, 2007 at 02:38:15PM -0500, Chuck Lever wrote:
>>> The new '-R' command line argument, tells rpc.mountd to create a  
>>> pseudo root
>>> if and only if, one is not already defined. Meaning if there is an
>>> export entry in /etc/exports with an 'fsid=0' option, that entry
>>> will be the pseudo root and rpc.mountd will not create a root.
>> Why not make that the default behavior?
> 
> Because it's experimental code for now.
> 
>> Is there a case when you  need to switch this default behavior off?
>> (ie, why have a command  line option to enable behavior that you need
>> to have anyway).
> 
> I agree that the goal should eventually be to have it always on.
ditto... The only concern I about having it always on is if there is no 
v4 traffic, there is a lot of overhead for something that will not be
used. But when v4 is the default, I think it will make more sense... 


>>> Now when a pseudo root is not defined, rpc.mountd will creates a  
>>> pseudo
>>> root in '/var/lib/nfs/v4root'. By create I mean, the /var/lib/nfs/ 
>>> v4root
>>> directory will be created and then be mounted as a tmpfs filesystem:
>>>
>>>     mount -t tmpfs tmpfs /var/lib/nfs/v4root
>>>
>>> Making /var/lib/nfs/v4root a true mount point.
>> What happens if there are more than one rpc.mountd processes running  
>> on the server?  Would having rpc.mound use a private namespace allow  
>> multiple instances to avoid colliding?
> 
> We should keep rpc.mountd in a private namespace, and, yes, partly
> because it will keep other processes (including other mountd's) from
> stepping on each other's pseudo-filesystem.
Yes.. Having rpc.mountd in a private namespace is the way to go if and
only if we continue to implement pseudo roots in userspace. 

A concern I have with this implement, is how scalable it is? Do server 
export hundreds or even thousands of directories? I don't know...  If they do, 
then creating a mount point for each export probably will not scale very well. 

So moving the implementation into the kernel, in the end, *might be* a better
solution, but at this point its an unknown... so until we do know, I think
this is a good first step...

Question: How often are do people run multiple rpc.mountd daemons and
for what reason? 

steved.

 


More information about the NFSv4 mailing list