RE: nfs4.1 pseudo filesystem

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

 



Hi, Ming,
	I guess the problem here is that the filesystem on "/root", "/root/Downloads/linux-2.6.39.4", and "/root/linux3/Documentation/filesystems" are the same filesystem.
	So when your client tried to access anything within the three directories, they all use the export "/root *(ro,fsid=0,crossmnt,no_root_squash)" to determin their permission.
	Try to mount some other filesystems on your "real" exports, I mean, the exports with fsid other than 0, then do your tests.

B.R
Minlan Wang


-----Original Message-----
From: linux-nfs-owner@xxxxxxxxxxxxxxx [mailto:linux-nfs-owner@xxxxxxxxxxxxxxx] On Behalf Of Ming Lei
Sent: Friday, October 11, 2013 5:40 AM
To: linux-nfs@xxxxxxxxxxxxxxx
Subject: nfs4.1 pseudo filesystem


I want to set up the real directory as the root of the pseudo filesystem 
got exported from the server. 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=46bb42
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