On 2019-04-12 11:49 AM, Warner Losh wrote:


On Fri, Apr 12, 2019 at 9:39 AM Brooks Harris <[email protected] <mailto:[email protected]>> wrote:

    Hopefully Linux will follow suit in some manner. This might be
    accompanied with updating POSIX time in some manner to support Leap
    Seconds..


The last 20 attempts to do that have failed, sadly. time_t is quite pervasive and has a significant amount of both legacy code (which could mostly be dealt with by transitioning to new interfaces, but not entirely ushering in a new class of off by 37s bugs) but also it's stored in a number of places that are impossible to change (timestamps in legacy filesystems).
I agree. Its in the file system timestamps where much of the challenge lies. There is insufficient metadata stored in the timestamps, both Linux and Windows NTFS, always has been. Its unclear to me if Microsoft intends to extend NTFS to support their new system. It seems like they must if they expect it to be reasonably traceable. As I understand it, as it is now, the relevant metadata information would need to be collected from elsewhere in the local operating system to make sense of an NTFS timestamp. That metadata may not be available to other systems attempting to interpret an NTFS timestamp. It really needs to reside in the timestamp itself, including local time metadata.
It's relatively easy to mostly get the get/set time interfaces to allow for leap seconds, but the data storage problem is a hassle. Also, since the legacy interfaces don't really have leap seconds in them at all, you still have all the hassles of repeating times for code that's not been updated.
Yes. It seems infeasible to me that the enormous number of applications that assume 86400 secs per day (including the widely used legacy Gregorian calendar without Leap Seconds) can be updated to some new, as yet un-proposed Leap Second aware specification.

Its unclear to me how Microsoft intends to approach that challenge. Perhaps by updating all Microsoft applications, like .NET, Office, SQL Server, etc, etc, etc.? Oh man, that just seems an unreasonably huge project, and then how would any of it interact with legacy systems and other operating systems? And email, and iCalendar, etc, etc.? And all the timekeeping tools in all the programming languages? How in the world could that happen?

While I applaud Microsoft for strong-arming these changes through (and taking the huge amount of time to chase down all the API implications), there's no such driving force in Linux, BSD or any of the other Unixes, with the possible exception of Apple and ios/osx. Google + android might be able to get away with a change here, should Google decide to cope, but since they already just smear I doubt the idea would get enough traction to get the proper level of commitment organizationally to make it happen.
The challenge may be put upon them by new financial regulations. Microsoft can now claim compliance, a potentially huge competitive advantage for Windows and Azure over the other OSs and cloud deployments, especially in financial sectors, banking, transactions, etc. Now how this is going to propagate internet, browsers, Java, and your shopping basket?

And, as always, I'd love for someone to do all the work and prove my jaded cynicism wrong.
It looks like a heavy lift to me too.
-Brooks

Warner


_______________________________________________
LEAPSECS mailing list
[email protected]
https://pairlist6.pair.net/mailman/listinfo/leapsecs

_______________________________________________
LEAPSECS mailing list
[email protected]
https://pairlist6.pair.net/mailman/listinfo/leapsecs

Reply via email to