Re: [PATCH] coda: stop using 'struct timespec' in user API

From: Arnd Bergmann
Date: Tue Jun 19 2018 - 15:13:39 EST


On Tue, Jun 19, 2018 at 6:56 PM, Jan Harkes <jaharkes@xxxxxxxxxx> wrote:
> On Tue, Jun 19, 2018 at 05:37:35PM +0200, Arnd Bergmann wrote:
>> Unfortunately, this breaks the layout of the coda_vattr structure, so
>> we need to redefine that in terms of something that does not change.
>> I'm introducing a new 'struct vtimespec' structure here that keeps
>> the existing layout, and the same change has to be done in the coda
>> user space copy of linux/coda.h before anyone can use that on a 32-bit
>> architecture with 64-bit time_t.
>
> This looks good to me.
>
>> An open question is what should happen to actual times past y2038,
>> as they are now truncated to the last valid date when sent to user
>
> That is definitely quite a hard problem because this propagates all the
> way back to the Coda file servers and how they store metadata.
> In fact the existing client-server protocol only uses 32-bit time in
> seconds, so we already lose the nanosecond resolution and 64-bit systems
> don't actually benefit from having the extra bits in their struct timespec.
>
> Not exposing an internal kernel datatype is definitely an improvement,
> so this is an ACK for me.

Thanks,