[OpenAFS-devel] Solaris-8/64-bit problem with mtime = Jan 1 1970

Harald Barth haba@pdc.kth.se
Mon, 09 Jul 2001 17:13:41 +0200


> As I said, this is a problem because you are trying to, effectively,
> set a time _BEFORE_ the epoch.  You can't do that on some platforms;
> it is an undefined operation.

Before asking the religious or philosophical question how dates that
are out of bound on some system should be handled, let's first find
out what actually is going on.

> > olb@zil:[olb]$ ls -l test
> > -rw-rw-r--   1 olb      olb            0 Jul  9 15:28 test
> > olb@zil:[olb]$ touch -t 197001010000 test 
> > olb@zil:[olb]$ ls -l test
> > test: Value too large for defined data type

The questions are:

	(1) What is passed to the filesystem in utime() (touch -t)
	(2) How does the client interpret these into StoreStatus()
	(3) What comes back from the server in FetchStatus()
	(4) What is returned by stat() (ls -l)

Each one of the steps can be right or wrong which in the end can lead
to a right or wrong answer.

Harald.