Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Aug 2012 17:33:24 +0300
From:      Andrey Simonenko <simon@comsys.ntu-kpi.kiev.ua>
To:        Rick Macklem <rmacklem@uoguelph.ca>
Cc:        freebsd-fs@FreeBSD.ORG, rmacklem@FreeBSD.org
Subject:   Re: Why vfs_stdcheckexp is a VFS operation?
Message-ID:  <20120831143324.GA81282@pm513-1.comsys.ntu-kpi.kiev.ua>
In-Reply-To: <42823120.1362161.1346414363645.JavaMail.root@erie.cs.uoguelph.ca>
References:  <20120831110151.GA21041@pm513-1.comsys.ntu-kpi.kiev.ua> <42823120.1362161.1346414363645.JavaMail.root@erie.cs.uoguelph.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Aug 31, 2012 at 07:59:23AM -0400, Rick Macklem wrote:
> Andrey Simonenko wrote:
> > On Wed, Aug 29, 2012 at 08:59:11AM -0400, Rick Macklem wrote:
> > >
> > > It seems that changing the semantics of /etc/exports is very
> > > difficult
> > > (it's a stumbling block w.r.t. adoption of nfse, as an example) at
> > > this
> > > time so, although confusing, exporting a directory that is not a
> > > mount
> > > point results in the entire mount point exported for NFS RPCs, but a
> > > restriction of only mounting that directory is enforced for the
> > > Mount
> > > protocol (only done at mount time and only for NFSv3).
> > >
> > 
> > Which information is the statement about semantics of exports(5) and
> > nfse is based on?
> 
> I was just going on what you have posted. You always seem to say that
> certain buggy cases for how mountd interprets /etc/exports is handled
> differently for nfse, but I may have misunderstood.

It depends on the year of my posts related to NFSE, I modified and
improved it many times, so something said before can be wrong comparing
with implementation from more recent versions.

Brief statements:

1. nfse works with nfs.exports(5) that is not compatible with exports(5).
2. nfse run with the -C switch is completely compatible with exports(5). 
3. mountd is incompatible with exports(5).

Detail description for 2 and 3 statements is here:
   http://nfse.sourceforge.net/COMPATIBILITY

Originally mountd was more or less compatible with exports(5), but it was
broken several years ago.  I corrected some of these mistakes:

   http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/170295
   http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/170413
   http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/170447

Some command line options that exist in mountd are not supported by nfse.
Some of these command line options do not work correctly or are ignored
in mountd.

There are some questions related to integration that I gave in the QUESTIONS
file from the NFSE archive.

New nfs.exports(5) was proposed, just because existent exports(5) cannot
solve some configuration tasks.  The style of nfs.exports(5) is based
on style of exports(5) from FreeBSD, but semantics is different.

If one wants to use exports(5), then there is the compatibility mode in
nfse (the -C command line switch).  Some existent exports(5) configurations
will not work, just because they were not written according to exports(5)
rules and "nfse -C" is completely compatible with exports(5) rules and is
strict to exports(5) rules. (well the -webnfs option is not supported
by nfse)

>From my point of view there are logic errors in exports(5), I tried
to correct them in nfs.exports(5).  There are logic errors in mountd from
CURRENT and recent STABLEs, so people can get some unexpected results and
because of complexity of exports(5) (mount points vs subdirectories) can
think that this is correct behaviour and mountd is just more flexible.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120831143324.GA81282>