mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Paolo Giarrusso <p.giarrusso@gmail.com>
To: hirofumi@mail.parknet.co.jp
Cc: linux-kernel@vger.kernel.org
Subject: Daylight saving time & FAT
Date: Thu, 5 Nov 2009 21:22:45 +0100	[thread overview]
Message-ID: <a4d0c86c0911051222q1ec384a2u724e0c8b1432ddb6@mail.gmail.com> (raw)

Hi,
I'm an ex kernel developer, writing to you because of a problem with
FAT and its Linux driver.

When re-rsync'ing two hard drives (one VFAT, one NTFS mounted with
ntfs-3g) after a Daylight Saving Time change (I was on CEST, +0200,
now I'm on CET, +0100), I discovered a one-hour time difference over
all files (on FAT, they are one hour in future).
My current understanding is that FAT stores times relative to the
current timezone, and that's crappy (see fat_time_fat2unix(), in
fs/fat/misc.c). But with the current code, it gets even more crappy -
the same file will have a different _UTC_ timestamp depending on my
current timezone, since the current offset from UTC is added to the
stored timestamp to get the UTC time (I verified the timezone change
would perfectly explain, even in sign, the time difference I found).
That's why I guess that the FAT timestamps are wrong.
I frankly doubt that Windows is so bad.

On DOS, they could get away without any conversion at all. But on
current Windows systems? Either you find the right time zone at file
saving time (too complicated IMHO) or ignore DST when saving/restoring
time (i.e. pretend DST is not in effect, and add the shift if needed).
I don't know right now what happens.
I wrote this mail to discuss what would be the correct solution (the
second?), and if it is possible to implement it.

Thanks for your attention
Regards
-- 
Paolo Giarrusso

             reply	other threads:[~2009-11-05 20:23 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-05 20:22 Paolo Giarrusso [this message]
2009-11-08 15:48 ` OGAWA Hirofumi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a4d0c86c0911051222q1ec384a2u724e0c8b1432ddb6@mail.gmail.com \
    --to=p.giarrusso@gmail.com \
    --cc=hirofumi@mail.parknet.co.jp \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®