Re: mount default minor version behavior

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

 



On Thu, Nov 13, 2014 at 02:26:20PM -0500, Trond Myklebust wrote:
> On Thu, Nov 13, 2014 at 2:02 PM, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote:
> > On Thu, Nov 13, 2014 at 01:52:09PM -0500, Trond Myklebust wrote:
> >> On Thu, Nov 13, 2014 at 12:57 PM, Steve Dickson <SteveD@xxxxxxxxxx> wrote:
> >> > On 11/12/2014 05:42 PM, Trond Myklebust wrote:
> >> >>>> NFS v4.0, 4.1, and 4.2 are all part of the same module, though.  Is there a way to analyze modules and determine what is compiled in?
> >> >>> > Maybe come up with some global bit field could be used?
> >> >>> > Each bit signifies a minor version is enabled...
> >> >>> >
> >> >> No. This means that mount.nfs now suddenly needs to know the names of
> >> >> the NFS modules and how to load them before it calls mount() just so
> >> >> that it knows which parameters to try. This is a rathole we don't want
> >> >> to explore...
> >> > I don't think mount.nfs needs to know any names... Just
> >> > a file /proc/fs/nfs/mount that tells mount.nfs where
> >> > to start the negotiation....
> >> >
> >>
> >> The kernel does not have that information until the NFSv4 module is loaded.
> >
> > I still don't get it.  All it needs to know is an upper bound--that
> > could be a single compile-time constant.  Is there any reason not to
> > build that number into the main nfs module?
> >
> 
> Firstly, the main nfs module isn't preloaded either.

That doesn't sound like a big deal.

> Secondly, that's a layering violation. The main nfs module has no
> business knowing anything about the sub-modules other than how to load
> them when needed.  If I want to recompile my NFSv4 module to add
> NFSv4.2 support, then I shouldn't have to recompile the entire
> contents of my nfs directory.

You don't have to, you just have to mount with -oversion=4.2  in that
case.

The compile-time constant here is just a default starting point for
negotation.

As long as there's no stable kernel API, and end users don't routinely
load modules from the future, the nfs module seems like a reasonable
enough place to store the default minorversion.

--b.
--
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