Re: nfs4.1 pseudo filesystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 11, 2013 at 04:51:29PM +0000, Ming Lei wrote:
> I want to cherry-pick a few subdirectories under say /root, but I don't want to specifies all these mount directories one by one just like NFSv2/3.

Well, you're kind of stuck enumerating them whether as exports or bind
mounts.

> Does pseudo filesystem in kernel v3.11 work well enough?

But it should work anyway, yes.

Oh, wait, I see the problem: it doesn't work well if you're exporting
subdirectories and not full filesystems.  Unless you do something
special at the export points  (e.g. mount --bind them over themselves),
knfsd doesn't know when you've crossed an export point.

--b.

> 
> Thanks
> Ming
> 
> -----Original Message-----
> From: J. Bruce Fields [mailto:bfields@xxxxxxxxxxxx] 
> Sent: Friday, October 11, 2013 9:30 AM
> To: Ming Lei
> Cc: linux-nfs@xxxxxxxxxxxxxxx
> Subject: Re: nfs4.1 pseudo filesystem
> 
> On Thu, Oct 10, 2013 at 09:39:38PM +0000, Ming Lei wrote:
> > 
> > I want to set up the real directory as the root of the pseudo 
> > filesystem got exported from the server.
> 
> Unless you have some very good reason, I recommend just ignoring the pseudo filesystem.  Just export the directories you want to without using fsid=0 or bind mounts, just as you would with NFSv2/v3.  That will work fine on any recent server.
> 
> --b.
> 
> > Can I do it or I have to create /export empty directory as the root of 
> > the pseudo FS and then bind the real directories?
> > 
> > I have this test, both server and client running 3.11.0+:
> > 
> > On the server, there is /root directory.
> > [root@xxx ~] ls /root
> > anaconda-ks.cfg  disk    Documents  fs_log.old   install.log.syslog  Public
> > Desktop          disk.c  Downloads  install.log  linux3              
> > rpmbuild
> > [root@xxx ~]# ls /root/Downloads/linux-2.6.39.4
> > arch       crypto         firmware  Kconfig      Module.symvers  security
> > block      cscope.in.out  fs        kernel       net             sound
> > config     cscope.out     include   lib          README          tools
> > config-rh  cscope.po.out  init      MAINTAINERS  REPORTING-BUGS  usr
> > COPYING    Documentation  ipc       Makefile     samples         virt
> > CREDITS    drivers        Kbuild    mm           scripts
> > 
> > I have this /etc/exports on the server:
> > /root *(ro,fsid=0,crossmnt,no_root_squash)
> > /root/Downloads/linux-2.6.39.4 *(rw,no_root_squash,nohide) 
> > /root/linux3/Documentation/filesystems *(rw,no_root_squash,nohide)
> > 
> > [root@xxx ~]# cat /proc/net/rpc/nfsd.export/content #path 
> > domain(flags)
> > # /root/.gvfs	*()
> > /root	*
> > (ro,no_root_squash,sync,wdelay,crossmnt,no_subtree_check,fsid=0,uuid=4
> > 6bb42
> > 56:d3c84b6f:bbbfff3a:8b0d912c)
> > [root@xxx ~]# cat /proc/net/rpc/nfsd.fh/content #domain fsidtype fsid 
> > [path]
> > * 1 0x00000000 /root
> > 
> > 
> > On the client side, what I saw:
> > [root@xxx /]# mount -o vers=4.1 10.1.13.66:/ /mnt [root@xxx /]# cd 
> > /mnt [root@xxx mnt]# ls
> > anaconda-ks.cfg  disk    Documents  fs_log.old   install.log.syslog  Public
> > Desktop          disk.c  Downloads  install.log  linux3              
> > rpmbuild
> > [root@xxx mnt]# cd Downloads/linux-2.6.39.4 [root@xxx linux-2.6.39.4]# 
> > ls
> > arch       COPYING        cscope.out     firmware  ipc      lib          
> > Module.symvers  samples   tools
> > block      CREDITS        cscope.po.out  fs        Kbuild   MAINTAINERS  
> > net             scripts   usr
> > config     crypto         Documentation  include   Kconfig  Makefile     
> > README          security  virt
> > config-rh  cscope.in.out  drivers        init      kernel   mm           
> > REPORTING-BUGS  sound
> > [root@xxx linux-2.6.39.4]# rm REPORTING-BUGS
> > rm: remove regular file `REPORTING-BUGS'? y
> > rm: cannot remove `REPORTING-BUGS': Read-only file system
> > 
> > The question is:
> > Why can I delete this file even I specify the mountpoint 
> > /root/Downloads/linux-2.6.39.4 to allow RW access?
> > 
> > Thanks
> > Ming
> > 
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-nfs" 
> > in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo 
> > info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux