The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: doug@cs.dartmouth.edu (Doug McIlroy)
Subject: [TUHS] Date madness
Date: Sat, 16 Dec 2017 05:50:45 -0500	[thread overview]
Message-ID: <201712161050.vBGAojbd027976@coolidge.cs.Dartmouth.EDU> (raw)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1211 bytes --]

>>>  Flipping it to unsigned int was the quickest way out to kick the can until Sun Feb 6 06:28:15 2106.  If you have source it’s incredibly trivial to change, and nothing changes size wise.
>>
>> Easy, but perhaps unwise. The sign bit is a potential escape hatch for
>> times, just as it is for characters in UTF-8.
> 
> I'm not sure what you're suggesting - UTF-8 works because it's a
variable length encoding - a variable length timestamp might be
interesting as an academic exercise, but there's no way for time() to
specify how much space is needed, or be informed of how much space is
allocated

Like UTF-8, a variable-length time would be something normal
programs aren't supposed to see--it would be a format for
external media (i.e. file systems). Times in inodes would be
variable-length. Times returned by stat() and time() would
be full length. Only the kernel needs to know the encoding.

One may note that inodes already use a variable-length
encoding for the list of physical block addresses, so there 
is nothing radical here.

I admit, though, that if the kernel can tell "old" from "new"
inodes, then they could have different time encodings rather
than one variable-length encoding.

Doug


             reply	other threads:[~2017-12-16 10:50 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-16 10:50 Doug McIlroy [this message]
2017-12-16 16:11 ` Random832
2017-12-16 17:11   ` Ralph Corderoy
  -- strict thread matches above, loose matches on Subject: below --
2017-12-13 22:16 Norman Wilson
2017-12-14  0:24 ` Chris Torek
2017-12-17 16:20   ` Ron Natalie
2017-12-17 18:53     ` Tom Ivar Helbekkmo
2017-12-17 20:07       ` Ron Natalie
2017-12-13 20:22 Noel Chiappa
2017-12-13 19:12 Doug McIlroy
2017-12-14  3:07 ` Random832
2017-12-15  3:04   ` Random832
2017-12-13 17:16 Noel Chiappa
2017-12-13 18:53 ` Tom Ivar Helbekkmo
2017-12-13 20:46 ` arnold
2017-12-15 16:41   ` Paul Winalski
2017-12-15 17:19     ` Dave Horsfall
2017-12-16 15:45     ` Clem Cole
2017-12-16  3:39   ` Dave Horsfall
2017-12-16  3:45     ` Lyndon Nerenberg
2017-12-17  1:43       ` Dave Horsfall
2017-12-14  3:08 ` Dave Horsfall
2017-12-14  3:13   ` Warner Losh
2017-12-13 16:31 Noel Chiappa
2017-12-13 16:50 ` arnold
2017-12-13 16:08 Noel Chiappa
2017-12-13 16:23 ` arnold
2017-12-13 15:56 Noel Chiappa
2017-12-12 18:31 Noel Chiappa
2017-12-12 18:01 Noel Chiappa
2017-12-12 18:21 ` Warner Losh
2017-12-13 15:07 ` Random832
2017-12-13 17:00   ` Jason Stevens
2017-12-13 17:18     ` Ron Natalie
2017-12-13 18:02       ` Arthur Krewat
2017-12-13 15:39 ` Wolfgang Helbig
2017-12-14  0:57 ` Dave Horsfall
2017-12-14 14:09   ` William Cheswick
2017-12-17 16:19     ` Ron Natalie
2017-12-17 16:33       ` William Cheswick
2017-12-17 17:54         ` Random832
2017-12-17 22:15           ` Dave Horsfall
2017-12-17 22:54             ` Ian Zimmerman
2017-12-16 18:12 ` Wolfgang Helbig

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=201712161050.vBGAojbd027976@coolidge.cs.Dartmouth.EDU \
    --to=doug@cs.dartmouth.edu \
    /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;
as well as URLs for NNTP newsgroup(s).