Re: [Patch 0/9] NFS Mount Configuration File

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

 



Hi Steve-

On Mar 17, 2009, at Mar 17, 2009, 3:44 PM, Steve Dickson wrote:
Sorry for the delayed response...

Chuck Lever wrote:
Hi Steve-

On Mar 9, 2009, at Mar 9, 2009, 4:44 PM, Steve Dickson wrote:
Hello,

The following patch set introduces a configuration file where
mount options can be define. The options in the file can be
applied globally or per server or per mount point.

The patch set reuses the configuration parsing code that
idmapd uses. I did added a couple enhancements like ignoring
blanks in certain definitions as well as at the beginning of
assignment statements.

There are man pages include in the patch set but in a
nut shell, the configuration file has three basic types
of sections. A global section, server section and mount point
section. There can only be one global section and multiple
server and mount point sections.

The mount command prioritize these sections in the following
way:
   * Options on the command line are always used.

   * Options defined in the mount point section are used
     as long a the options are not in the command line options.

   * Options defined in the server section are used as long as
     they are not defined on the command line or in the mount point
     section.

   * Options defined in the global section are used as long as the
options are not on the command line or in the mount point section
     or in the server section.

This can become challenging to troubleshoot if there are these
semi-hidden options (cf. selinux).
Why? 'mount -v' clearly shows what options are being used and then
of course 'cat /proc/mounts' will show all the mount options.

Because we expect certain default settings for these mount options. If they can be different on every system and every mount point, then you have to remember to go back and check /etc/fstab, and your configuration file, and so on.

I don't get why the per-mount section is even needed -- currently, the
mount options in /etc/fstab are used automatically if no options are
specified on the command line.
Sure... this is option redundant with /etc/fstab but why not allow people configure all the NFS mounts in one spot? Why make them edit different files?

Indeed... why make them edit /etc/fstab and some other config file? We have /etc/fstab for static mounts and maps for automounter. It's already bad enough, and now we are considering another layer of complexity. Plus, the internal syntax of the mount command configuration file is unlike either /etc/fstab or automounter maps.

Is there a specific use case you have in mind for the per-mount
section?
Not really... I figure would handy allow different options on
different file system to the same server...

You just want a user to say "-o noac" and she will get all the
remaining options in the per-mount section too?
Yes.. the per-mount section will be added on to the command line options.

I guess that means you also need to know when to specify the opposite to turn off the options listed in this section (like using "-o ac" if noac is contained in this section). So again, that doesn't seem like especially
helpful behavior in some cases.
Not sure I understand your point... but regardless setting 'ac=true' will
cause the '-o ac' option to be added and 'ac=false' will cause the
'-o noac' option to be added...

It's the same problem we have with "-o remount", except now the behavior is made even more inconsistent. For example:

"mount -o remount sync"

on a noac mount silently strips the actimeo part of noac, and makes what was a "sync,actimeo=0" mount point just "sync". Now we have a bunch of new little tricks to watch out for.

This is the first step toward moving the default NFS version from 3 to 4
on the client.

I would think that the _only_ step is to implement the version fallback
logic; ie. if the server doesn't support NFSv4, then use NFSv3, then
NFSv2.  Why can't an admin simply specify a fixed NFS version
(nfsvers=3) if there is a problem with NFSv4?
They can... Nfsvers=3. When that is set, there will be no negotiation.

That's exactly my point.

If an admin has a problem with using a particular version, they can specify exactly what they want, today. Adjusting the default version of a mount point is already possible today. People who don't care now probably are not likely to care if they get NFSv4, as long as NFSv4 is working as well as NFSv3.

It seems to me that if the admin hasn't specified nfsvers=, then she does
not care which NFS version is used.
True. And then the highest version the server supports
will be negotiated. Having a Max/Min version will allow a the
client to control that negotiation... Say the want v4 but not
v4.1 ? Or may they only v41?

If they care that much, why not just say nfsvers=4 and be done with it?

Having a configuration file which allows users to define
the maximum and minimum NFS versions that should be negotiated is the
right thing to do... IMHO.. Even though this patch does not does not
do that, it does lay the ground work for that type of functionality
Well I think most admins do want complete control over which NFS
version will or will not be used... esp when it comes to v4 and v4.1

I honestly don't see that. Admins want the system to work, and not be bothered with the trivial details. They want either "give me anything that works" or "give me this specific setting." And we have the ability to do that already.

Even without a config file, Linux is open source. If an admin cares that much about exactly how the system works, she will build it herself, and possibly modify the source code.

I think the problem I have with this (besides the complexity) is that if we must add more ways of avoiding NFSv4, then is NFSv4 really ready to be made the default?

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com
--
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