chiark / gitweb /
core: only set the kernel's timezone when the RTC runs in local time
authorKay Sievers <kay@vrfy.org>
Sat, 26 Jul 2014 22:11:08 +0000 (00:11 +0200)
committerKay Sievers <kay@vrfy.org>
Sun, 27 Jul 2014 08:44:31 +0000 (10:44 +0200)
commitc264aeab4b0e7b69f469e12e78d4a48b3ed7a66e
treea99191d8ebde57537e362f6053074609bf19d7cc
parentc6a373a26348544d944b08bf0c5dea4f72f6980b
core: only set the kernel's timezone when the RTC runs in local time

We can not reliably manage any notion of local time. Every daylight
saving time change or time zone change by traveling will make the
time jump, and the local time might jump backwards which creates
unsolvable problems with file timestamps.

We will no longer tell the kernel our local time zone and leave
everything set to UTC. This will effectively turn FAT timestamps
into UTC timestamps.

If and only if the machine is configured to read the RTC in local
time mode, the kernel's time zone will be configured, but
systemd-timesysnc will disable the kernel's system time to RTC
syncing. In this mode, the RTC will not be managed, and external
tools like Windows bootups are expected to manage the RTC's time.

https://bugs.freedesktop.org/show_bug.cgi?id=81538
src/core/main.c
src/shared/clock-util.c
src/shared/clock-util.h
src/timedate/timedatectl.c
src/timesync/timesyncd.c
src/timesync/timesyncd.h