automake
[Top][All Lists]
Advanced

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

Re: NFS--mounted builddirs and detecting clock skew


From: Bob Friesenhahn
Subject: Re: NFS--mounted builddirs and detecting clock skew
Date: Wed, 21 Nov 2007 19:52:33 -0600 (CST)

On Thu, 22 Nov 2007, Harlan Stenn wrote:

I use the last one quite often these days but sometimes I use the
first.

More than likely the various different possibilities I pointed out seem a bit tiresome but they will eventually be important to someone.

I did miss one important case which is the case of "overlay" type filesystems where the files in a directory may come from different local disks, or from remote servers. These can be quite useful. One useful case is to be able to apparently "write" into the source directory without actually updating/adding files in the disk directory where the source files truely reside.

There seems to be several issues here.  Is the following a usefully
sufficient question to ask:

If I touch a file now, how far off is the timestamp on the file I touch
from what I think the time is?

The time returned by the filesystem is the time that the system owning the filesystem updated the file. This means that if you touch a file in a NFS directory then the timestamp is the time known to the NFS server. Touching a file on the local system obtains the time known to the local system.

Yes, this all boils down to the meaning of "detectable".

CPUs are fast enough these days that it is possible for object files to be output in the same time quantum as the intermediate file the object file originated from. The only solution to this is to intentionally slow down fast operations.

At the moment, I am inclined to think that if 'make' will detect it,
then I care.  And this is clearly an insufficient definition.  Perhaps
the 'check-clock-skew' program would have a "useful" default threshhold,
and there could be an option to specify a different threshhold.

My understanding of 'make' is that it uses the times reported by the filesystems and does not care about the local clock time. So if the source files are on one network server and the object files are written to another network server, then the time difference make cares about is the time difference between the two servers. Since builds usually use a local temporary directory, then such builds may also care about the local system time if make knows about the temporary files.

If the source tree is treated as read only, then make is happy if the files it creates are always newer than those in the source tree.

Bob
======================================
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]