Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Jan 2011 18:55:57 +1100 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Doug Barton <dougb@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org
Subject:   Re: svn commit: r217871 - head/sbin/mount
Message-ID:  <20110126173411.P972@besplex.bde.org>
In-Reply-To: <201101260506.p0Q56Bhf064034@svn.freebsd.org>
References:  <201101260506.p0Q56Bhf064034@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 26 Jan 2011, Doug Barton wrote:

> Log:
>  Clarify the availability of the noatime option on network file systems
>
> Modified:
>  head/sbin/mount/mount.8
>
> Modified: head/sbin/mount/mount.8
> ==============================================================================
> --- head/sbin/mount/mount.8	Wed Jan 26 01:07:56 2011	(r217870)
> +++ head/sbin/mount/mount.8	Wed Jan 26 05:06:11 2011	(r217871)
> @@ -28,7 +28,7 @@
> .\"     @(#)mount.8	8.8 (Berkeley) 6/16/94
> .\" $FreeBSD$
> .\"
> -.Dd February 10, 2010
> +.Dd January 25, 2011
> .Dt MOUNT 8
> .Os
> .Sh NAME
> @@ -208,7 +208,11 @@ This option
> is useful on file systems where there are large numbers of files and
> performance is more critical than updating the file access time (which is
> rarely ever important).
> -This option is currently only supported on local file systems.
> +This option is not supported on network file systems when the
> +server is FreeBSD.
> +Support in network files servers on other operating systems
> +with a FreeBSD client is possible,
> +but should be tested before it is relied on.

Even atimes are not supported by at least the non-experimental FreeBSD
client, so attempts to turn them off are nonsense and should have
always failed at mount time.  But such attempts bogusly always succeed
and have no effect, even if atimes are otherwise supported, since:
- for mount(2), the nonstandard option MOPT_NOATIME has always been
   bogusly in the standard options list MOPT_STDOPTS.  Thus it is was
   never rejected by mount_nfs(8) or for other mount utilities than
   use mount(2), even for file systems for fies that don't even have atimes.
- for nmount(2) in both the non-experimental and experimental cilent
   the unsupported option "noatime" is bogusly in the supported options
   list together with lots of other unsupported options like "suiddir",
   "nocluster[rw]", "multilabel" and "acls".  All of these nonstandard
   options are also bogusly in MOPT_STDOPTS.
- bogusly setting the MNT_ATIME flag in an attempt to turn off atime has
   no effect in any FreeBSD nfs client, since the MNT_ATIME flag is never
   referenced.  And, at least in the non-experimental client, since even
   atimes are not supported, there is nothing useful that references to
   MNT_ATIME could do.

Non-support of atimes by by at least the old FreeBSD client:  Most
reads are from the nfs cache (else most reads would be very slow).
Since the client doesn't support atimes, it doesn't do the fancy caching
of them that would be needed to make them sort of work without defeating
the cache by telling the server about every read.  So atimes just get
updated on the server when the server is asked to fill the cache, and
then only if the server supports atimes (not counting when an application
on the client explicitly sets them using utimes(2).  Full support for
noatime/noatime on the client would involve negotating it with the
server, so that the client's noatime flag has preference over the
server flag on files read by that client...  AFAIK there is no way to
negotiate this.  Client caching of atimes might also need delicate
negotiation depending on how POSIXly you want atimes to work.

I sometimes think that atimes should be handled mostly in vfs.  The
MNT_ATIME could then have an effect without any references to it in
file systems that sort of support atimes, but ones that don't even
have atimes should still make vfs reject attempts to use it.

Bruce



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