- Subject: Re: [PATCH 4/6] v4set_root: force "fsid=0" for all exports of '/'
- From: "J. Bruce Fields" <bfields@xxxxxxxxxxxx>
- Date: Tue, 24 Apr 2012 18:03:50 -0400
- Cc: Steve Dickson <steved@xxxxxxxxxx>, linux-nfs@xxxxxxxxxxxxxxx
- In-reply-to: <20120424054638.20130.5981.stgit@notabene.brown>
- References: <20120424054003.20130.16209.stgit@notabene.brown> <20120424054638.20130.5981.stgit@notabene.brown>
- User-agent: Mutt/1.5.20 (2009-06-14)
On Tue, Apr 24, 2012 at 03:46:38PM +1000, Neil Brown wrote:
> When "fsid=0" is not explicitly given in /etc/exports,
> v4set_root creates a pseudo (NFSEXP_V4ROOT) export for '/'
> with fsid 0 so that an NFSv4 client can find the root.
>
> However if '/' is explicitly exported to the client, then that
> explicit export must be used, and it will not have fsid=0.
> So we must impose fsid=0 on all exports of '/'.
> Without this, if '/' is exported to a client, that client will
> not be able to mount '/' with NFSv4.
I'd also like to teach the kernel to do lookups of "/" when it wants the
pseudoroot, and then try searching for an fsid=0 export only if "/"
doesn't work. Long term I'd rather not have the reliance on the fsid=0
convention. (Though maybe I'm being silly, as we're likely stuck with
it.)
Anyway, I'm fine with this patch regardless.
--b.
>
> Signed-off-by: NeilBrown <neilb@xxxxxxx>
> ---
>
> utils/mountd/v4root.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/utils/mountd/v4root.c b/utils/mountd/v4root.c
> index 81f813b..b4fdcce 100644
> --- a/utils/mountd/v4root.c
> +++ b/utils/mountd/v4root.c
> @@ -192,6 +192,13 @@ v4root_set()
> */
> continue;
>
> + if (strcmp(exp->m_export.e_path, "/") == 0 &&
> + !(exp->m_export.e_flags & NFSEXP_FSID)) {
> + /* Force '/' to be exported as fsid == 0*/
> + exp->m_export.e_flags |= NFSEXP_FSID;
> + exp->m_export.e_fsid = 0;
> + }
> +
> v4root_add_parents(exp);
> /* XXX: error handling! */
> }
>
>
> --
> 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
[Linux USB Development]
[Linux Media Development]
[Video for Linux]
[Linux NILFS]
[Linux Audio Users]
[Photo]
[Yosemite Info]
[Yosemite Photos]
[POF Sucks]
[Linux Kernel]
[Linux SCSI]
[XFree86]