Historical Note regarding the Large File Summit:

On 10/15/2019 3:25 AM, Austin Group Bug Tracker wrote:
----------------------------------------------------------------------
  (0004623) joerg (reporter) - 2019-10-15 10:25
http://austingroupbugs.net/view.php?id=1296#c4623 ----------------------------------------------------------------------
If we refer to the large file summit, it may be useful to add:


EOVERFLOW
       The file is a regular file and at least on of the time stamps cannot
be represented correctly in an object if type time_t

...since this has been slipped in the large file summit: The LFS struct
stat should have introduced a 64 bit time_t object as well.

When the LFS was developed (around 1991), most if not all of the POSIX/UNIX systems had a 32-bit ABI.

The database vendors were being pressured by their customers to support data sets that were larger than could be represented with a 32-bit off_t. The LFS was convened to develop an extension to IEEE P1003.1 (POSIX). In order to minimize the affect on the existing UNIX ABIs, the LFS was done as an extension that was meant to reside only on filesystems which were explicitly formatted to support the LFS (i.e., LFS files would not be in the root filesystem but it could be in a separately mounted filesystem that was reserved for databases). Since the 64-bit off_t exists only when the user sets a compile time directive, and that directive was not the default state of the 32-bit compile environment, no customer application would accidentally be compiled for the LFS.) Because the time_t is used in many more interfaces than just the file system, and the 32-bit operating systems returned a 32-bit time_t, for compatibility, the time_t was ruled out-of-scope for the LFS.

The LFS was developed earlier than the events which led to the recognition of the Year 2000 (Y2K) date problem by the general customer base. The LFS team knew of the Y2K problem, but choose to avoid developing a time_t change that did not have the approval of the broader group of operating system architects on the POSIX committee. Besides, the ABI is out-of-scope for the POSIX committee.

Side Note:

Today, most if not all POSIX/UNIX systems that support a 64-bit ABI also support a 32-bit ABI for compatibility. All customers with 32-bit applications who are concerned about the size of their database and the Y2K hard stop in the year 2038 (or 2106 depending on which UNIX ABI we are talking about) have one choice, migrate to the 64-bit ABI. When I retired, this was the official position of most if not all of the marketing departments of HP, IBM, Oracle, Sun etc. There are only 19 years left and times a waistin'.

Cheers,
Larry

PS: I did not log into the Bug Tracker to post this because I don't remember what my login is, or if my login is still active, of if I ever had a login. "And fourth, I don't have a dog" (Ref: "Racehorse" Haynes)

Reply via email to