RFC: new NFS mount option to work around Solaris server bug

Rick Macklem rmacklem at uoguelph.ca
Thu Dec 25 02:05:38 UTC 2014


Mehmet Erol Sanliturk wrote:
> 
> 
> 
> 
> 
> On Wed, Dec 24, 2014 at 3:14 PM, Rick Macklem < rmacklem at uoguelph.ca
> > wrote:
> 
> 
> Hi,
> 
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193128
> 
> This bug report discusses a bug in the Solaris NFS server
> that is tickled by the way FreeBSD currently does exclusive
> open in the NFS client.
> FreeBSD sets both the mtime to the time of the client and
> also the file's mode using a Setattr RPC done after an
> exclusive create of the file in an exclusive open.
> 
> Jason ( jnaughto at ee.ryerson.ca ) was able to figure out that
> the server bug can be avoided if the mtime is set to the
> server's time (xxx_TOSERVER option in the Setattr RPC request).
> 
> I'd like to propose a new mount option that forces the
> FreeBSD client to use xxx_TOSERVER for setting times,
> mostly to be used as a work around for this Solaris server bug.
> 1 - Does doing this make sense to others?
> 2 - If the answer to one is "Yes", then what do you think
> the option should be called?
> useservertime
> useservtm
> ust
> OR ??
> 
> Thanks in advance for your comments, rick
> 
> 
> 
> 
> Actually , this parameter should be defined ALSO in NFS server in
> rc.conf definition , because , to the NFS server , many different
> client operating systems may be connected . Setting a parameter in
> only FreeBSD clients will not solve COMMON time usage problem ,
> because any change in FreeBSD client will not be available in other
> operating system client definitions .
> 
> 
> In that way , NFS server will set the file time irrespective of
> client time .
> 
Well, the NFS protocol Setattr (which sets times among other attributes)
arguments includes a flag that:
- Can be set to xxx_TOCLIENT and provides a time from the client.
OR
- Can be set to xxx_TOSERVER.
The server is expected to do whichever the client specifies.
So, I don't think having a flag to override this on the server side
would be appropriate, since it would be contrary to the protocol
specification.

rick

> If this causes an inconvenience in other operating system clients ,
> they may use an NTP server defined in the NFS server but ,
> unfortunately , it seems that a FreeBSD server is NOT able to be
> used as an NTP server with respect to FreeBSD Handbook 29.11. Clock
> Synchronization with NTP where it seems that ntpd is only a CLIENT
> to an external NTP server .
> 
> 
> At this point , it seems that there is a necessity to enable FreeBSD
> to define an NTP server by itself like an NFS server .
> 
> 
> 
> 
> Thank you very much .
> 
> 
> Mehmet Erol Sanliturk
> 
> 
> 
> 
> 
> 


More information about the freebsd-fs mailing list