From: "J. Bruce Fields" <bfields@fieldses.org>
To: Ming Lei <Ming.Lei@riverbed.com>
Cc: "linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: Re: nfs4.1 pseudo filesystem
Date: Fri, 11 Oct 2013 14:29:42 -0400 [thread overview]
Message-ID: <20131011182942.GA22160@fieldses.org> (raw)
In-Reply-To: <2CE44BD3DBCF9541909CCB42F11CA3921C774298@sfo1exc-mbxp08.nbttech.com>
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@fieldses.org]
> Sent: Friday, October 11, 2013 9:30 AM
> To: Ming Lei
> Cc: linux-nfs@vger.kernel.org
> 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@vger.kernel.org More majordomo
> > info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2013-10-11 18:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-10 21:39 nfs4.1 pseudo filesystem Ming Lei
2013-10-11 16:30 ` J. Bruce Fields
2013-10-11 16:51 ` Ming Lei
2013-10-11 18:29 ` J. Bruce Fields [this message]
2013-10-11 20:58 ` J. Bruce Fields
2013-10-11 21:04 ` Chuck Lever
2013-10-12 6:40 ` Wangminlan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131011182942.GA22160@fieldses.org \
--to=bfields@fieldses.org \
--cc=Ming.Lei@riverbed.com \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox