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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.