Solaris Tunable Parameters Reference Manual

nfs:nfs_allow_preepoch_time

Description

Controls whether files with incorrect or negative time stamps should be made visible on the client.

Historically, neither the NFS client nor the NFS server would do any range checking on the file times being returned by using these attributes. The over-the-wire time stamp values are unsigned and 32–bits long, so all values have been legal.

However, on a system running a 32–bit Solaris release, the time stamp values are signed and 32–bits long. Thus, it would be possible to have a time stamp representation that appeared to be prior to January 1, 1970, or pre-epoch.

The problem on a system running a 64–bit Solaris release is slightly different. The time stamp values on the 64–bit Solaris release are signed and 64–bits long. It is impossible to determine whether a time field represents a full 32–bit time or a negative time, that is, one prior to January 1, 1970.

It is impossible to determine whether to sign extend a time value when converting from 32 bits to 64 bits. The time value should be sign extended if the time value is truly a negative number, but should not be sign extended if it does truly represent a full 32–bit time value. This problem is resolved by simply disallowing full 32–bit time values.

Data Type

Integer (32–bit)

Default

0 (32–bit time stamps disabled)

Range

0 (32–bit time stamps disabled), 1 (32–bit time stamps enabled)

Units

Boolean values

Dynamic?

Yes

Validation

None

When to Change

Even during normal operation, it is possible for the time stamp values on some files to be set very far in the future or very far in the past. If access to these files is desired using NFS mounted file systems, then set this parameter to 1 to allow the time stamp values to be passed through unchecked.

Stability Level

Evolving