Re: [PATCH] coda: stop using 'struct timespec' in user API
flat view
From: Arnd Bergmann <arnd@arndb.de>
Date: 2018-06-19 19:19:30
Also in:
lkml
On Tue, Jun 19, 2018 at 9:13 PM, Arnd Bergmann [off-list ref] wrote:
On Tue, Jun 19, 2018 at 6:56 PM, Jan Harkes [off-list ref] wrote:
quoted
quoted
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 userThat 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.
I couldn't find out enough background for this, maybe you can fill it in: I see that there is a user space component and a server component, but I'm not sure if there is exactly one of each, or if there are multiple implementations that are written against the same interface. If we only have one code base, it should be fairly straightforward to make it deal with 'unsigned' timestamps consistently, which would let the code work fine until 2106 rather than wrapping around from 2038 to 1902.
quoted
Not exposing an internal kernel datatype is definitely an improvement, so this is an ACK for me.
To clarify: the problem isn't as much the internal kernel type, but the
glibc internal type that we know is going to change with future glibc
versions. This means it is important that the header file change makes
it into every user space program that uses the psdev interface.
Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html