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.
Jan