Re: [patch] x86-64 ext2/ext3 datestamp problem

Markus Rechberger
2007-02-06T22:20:53Z

H. Peter Anvin wrote:
> Markus Rechberger wrote:
>> H. Peter Anvin wrote:
>>> Markus Rechberger wrote:
>>>> My debian system's coreutils package only allows dates between 1902
>>>> and
>>>> 2038, but it might be interesting to get that right if it's wrong.
>>>>
>>>> touch (GNU coreutils) 5.97 just says invalid dateformat to 2050-01-01
>>> Lemme guess, you're on a 32-bit system...
>>>
>>
>> I have both here, 64 and 32bit
>> If I touch a file with 1905 on my 32bit system and remount the disk the
>> date will remain at 1905 without any patch.
>>
>
> The reason is that most 32-bit systems (e.g. i386) only have a 32-bit
> time_t, so the user space interface wraps around in 2038.
>
> However, most 64-bit systems (e.g. x86_64) have 64-bit time_t, and
> thus don't have that problem.
>
> -hpa
>
>
I know time_t expands to long, anyway the existing filesystem layout

cannot be changed so that problem would even remain with a 64bit system
unless the whole system would really treat it as unsigned. A 64 bit
system will cast the unsigned stamp over a signed long value which in
this case is bigger than 32 bit and behaves differently.