RFC: new NFS mount option or restore old behaviour for Solaris server bug?

Kirk McKusick mckusick at mckusick.com
Sat Dec 27 22:01:30 UTC 2014


> Date: Sat, 27 Dec 2014 09:28:16 -0500 (EST)
> From: Rick Macklem <rmacklem at uoguelph.ca>
> To: FreeBSD Filesystems <freebsd-fs at freebsd.org>,
>         John Baldwin <jhb at freebsd.org>, Konstantin Belousov <kib at freebsd.org>
> Subject: RFC: new NFS mount option or restore old behaviour for Solaris
>  server bug?
> 
> Hi,
> 
> The FreeBSD9.1 and earlier NFS clients almost always (unless the
> tod clock ticked to next second while the operation was in progress)
> set the mtime to the server's time (xx_TOSERVER) for exclusive open.
> Starting with FreeBSD9.2, the mtime would be set to the client's time
> due to r245508, which fixed the code for utimes() to use VA_UTIMES_NULL.
> 
> This change tickled a bug in recent Solaris servers, which return
> NFS_OK to the Setattr RPC but don't actually set the file's mode bits.
> (The bug isn't tickled when mtime is set to the server's time.)
> I have patches to work around this in two ways:
> 1 - Add a new "useservertime" mount option that forces xx_TOSERVER.
>     (This patch would force xx_TOSERVER for exclusive open.)
>     It permits the man page to document why it is needed-->broken Solaris servers.
> 2 - Use xx_TOSERVER for exclusive open always. Since this was the normal
>     behaviour until FreeBSD9.2, I don't think this would cause problems or
>     be a POLA violation, but I can't be sure?
> 
> I am leaning towards #2, since it avoids yet another mount option.
> However, I'd like other people's opinions on which option is better,
> or any other suggestions?
> 
> Thanks in advance for your comments, rick

I lean towards solution #2. It tracks historic practice and avoids
yet another mount flag.

	Kirk McKusick


More information about the freebsd-fs mailing list