All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
To: Theodore Ts'o <tytso-3s7WtUTddSA@public.gmane.org>
Cc: David Howells <dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	linux-afs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	samba-technical-w/Ol4Ecudpl8XjKLYN78aQ@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-ext4-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Deepa Dinamani
	<deepa.kernel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH 01/12] Ext4: Fix extended timestamp encoding and decoding
Date: Mon, 30 Nov 2015 15:37:43 +0100	[thread overview]
Message-ID: <4966628.zR0sijQ42t@wuerfel> (raw)
In-Reply-To: <20151130141605.GA4316-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>

On Monday 30 November 2015 09:16:05 Theodore Ts'o wrote:
> On Sun, Nov 29, 2015 at 10:30:39PM +0100, Arnd Bergmann wrote:
> > The other large missing piece is the system call implementation. I have
> > posted a series earlier this year before my parental leave, and it's
> > currently lacking review from libc folks, and blocked on me to update
> > the series and post it again.
> 
> I assume that this also means there hasn't been much thought about
> userspace support above libc?  i.e., how to take a 64-bit time64_t (or
> changing the size of time_t) and translating that to a string using
> some kind of version of ctime() and asctime(), and how to parse a
> post-2038 date string and turning it into a 64-bit time_t on a 32-bit
> platform?
> 
> The reason why I'm asking is because I'm thinking about how to add the
> appropriate regression test support to e2fsprogs for 32-bit platforms.
> I'm probably going to just skip the tests on architectures where
> sizeof(time_t) == 4 for now, since with a 32-bit time_t adding support
> for post-2038 in a e2fsprogs-specific way is (a) something I don't
> have time for, and (b) probably a waste of time since presumably we
> will either need to have a more general solution, or simply decide to
> give up on 32-bit platforms by 2038....

We are definitely going to be using 32-bit embedded platforms in 2038,
but we won't be using a 32-bit time_t then, so basing the check on
sizeof(time_t) sounds reasonable. I assume most generic distros will
stay with 32-bit time_t for compatibility reasons and just not give
long term support for 32-bit architectures, while the embedded
distros will move over to 64-bit time_t, but on those you recompile
all user space for each product anyway.

The glibc functions should all work with a 64-bit time_t as they do
today on 64-bit architectures. There is an open discussion on how
you move to 64-bit time_t. With the current
glibc plan at https://sourceware.org/glibc/wiki/Y2038ProofnessDesign,
you will have to set -D_TIME_BITS=64 to enable it explicitly, but
I'd also like to see a way to build a glibc that defaults to that
and does not allow backwards compatibility, which is important for
folks that want to ship a system that has they can guarantee to
survive 2038.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: "Theodore Ts'o" <tytso@mit.edu>
Cc: David Howells <dhowells@redhat.com>,
	linux-afs@vger.kernel.org, linux-nfs@vger.kernel.org,
	linux-cifs@vger.kernel.org, samba-technical@lists.samba.org,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-ext4@vger.kernel.org,
	Deepa Dinamani <deepa.kernel@gmail.com>
Subject: Re: [PATCH 01/12] Ext4: Fix extended timestamp encoding and decoding
Date: Mon, 30 Nov 2015 15:37:43 +0100	[thread overview]
Message-ID: <4966628.zR0sijQ42t@wuerfel> (raw)
In-Reply-To: <20151130141605.GA4316@thunk.org>

On Monday 30 November 2015 09:16:05 Theodore Ts'o wrote:
> On Sun, Nov 29, 2015 at 10:30:39PM +0100, Arnd Bergmann wrote:
> > The other large missing piece is the system call implementation. I have
> > posted a series earlier this year before my parental leave, and it's
> > currently lacking review from libc folks, and blocked on me to update
> > the series and post it again.
> 
> I assume that this also means there hasn't been much thought about
> userspace support above libc?  i.e., how to take a 64-bit time64_t (or
> changing the size of time_t) and translating that to a string using
> some kind of version of ctime() and asctime(), and how to parse a
> post-2038 date string and turning it into a 64-bit time_t on a 32-bit
> platform?
> 
> The reason why I'm asking is because I'm thinking about how to add the
> appropriate regression test support to e2fsprogs for 32-bit platforms.
> I'm probably going to just skip the tests on architectures where
> sizeof(time_t) == 4 for now, since with a 32-bit time_t adding support
> for post-2038 in a e2fsprogs-specific way is (a) something I don't
> have time for, and (b) probably a waste of time since presumably we
> will either need to have a more general solution, or simply decide to
> give up on 32-bit platforms by 2038....

We are definitely going to be using 32-bit embedded platforms in 2038,
but we won't be using a 32-bit time_t then, so basing the check on
sizeof(time_t) sounds reasonable. I assume most generic distros will
stay with 32-bit time_t for compatibility reasons and just not give
long term support for 32-bit architectures, while the embedded
distros will move over to 64-bit time_t, but on those you recompile
all user space for each product anyway.

The glibc functions should all work with a 64-bit time_t as they do
today on 64-bit architectures. There is an open discussion on how
you move to 64-bit time_t. With the current
glibc plan at https://sourceware.org/glibc/wiki/Y2038ProofnessDesign,
you will have to set -D_TIME_BITS=64 to enable it explicitly, but
I'd also like to see a way to build a glibc that defaults to that
and does not allow backwards compatibility, which is important for
folks that want to ship a system that has they can guarantee to
survive 2038.

	Arnd

  parent reply	other threads:[~2015-11-30 14:37 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-20 14:54 [RFC][PATCH 00/12] Enhanced file stat system call David Howells
2015-11-20 14:54 ` [PATCH 01/12] Ext4: Fix extended timestamp encoding and decoding David Howells
     [not found]   ` <20151120145434.18930.89755.stgit-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2015-11-24 17:37     ` Andreas Dilger
2015-11-24 17:37       ` Andreas Dilger
2015-11-24 19:36   ` Theodore Ts'o
     [not found]     ` <20151124193646.GA3482-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2015-11-24 20:10       ` Arnd Bergmann
2015-11-24 20:10         ` Arnd Bergmann
2015-11-29  2:45         ` Theodore Ts'o
2015-11-29  2:45           ` Theodore Ts'o
     [not found]           ` <20151129024555.GA31968-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2015-11-29 21:30             ` Arnd Bergmann
2015-11-29 21:30               ` Arnd Bergmann
2015-11-30 14:16               ` Theodore Ts'o
     [not found]                 ` <20151130141605.GA4316-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2015-11-30 14:37                   ` Arnd Bergmann [this message]
2015-11-30 14:37                     ` Arnd Bergmann
2015-11-30 14:46                 ` Elmar Stellnberger
2015-11-26 15:28       ` David Howells
2015-11-26 15:28         ` David Howells
2015-11-20 14:54 ` [PATCH 02/12] statx: Provide IOC flags for Windows fs attributes David Howells
     [not found]   ` <20151120145447.18930.5308.stgit-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2015-11-24 19:52     ` Theodore Ts'o
2015-11-24 19:52       ` Theodore Ts'o
2015-11-26 15:35   ` David Howells
     [not found]   ` <7976.1448552129-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2015-11-26 16:01     ` David Howells
2015-11-26 16:01       ` David Howells
2015-11-26 22:10     ` Andreas Dilger
2015-11-26 22:10       ` Andreas Dilger
2015-11-20 14:54 ` [PATCH 03/12] statx: Add a system call to make enhanced file info available David Howells
     [not found]   ` <20151120145457.18930.79678.stgit-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2015-11-24 20:21     ` Dave Chinner
2015-11-24 20:21       ` Dave Chinner
2015-12-04 12:06     ` Pavel Machek
2015-12-04 12:06       ` Pavel Machek
2015-12-21 23:21   ` David Howells
2015-11-20 14:55 ` [PATCH 04/12] statx: AFS: Return enhanced file attributes David Howells
2015-11-20 14:55 ` [PATCH 05/12] statx: Ext4: " David Howells
2015-11-20 14:55 ` [PATCH 06/12] statx: NFS: " David Howells
2015-11-20 14:55 ` [PATCH 07/12] statx: CIFS: Return enhanced attributes David Howells
2015-11-24 17:33   ` Steve French
2015-11-24 17:34   ` Steve French
2015-11-24 17:34     ` Steve French
2015-11-20 14:56 ` [PATCH 08/12] fsinfo: Add a system call to make enhanced filesystem info available David Howells
2015-11-20 14:56 ` [PATCH 09/12] fsinfo: Ext4: Return information through the filesystem info syscall David Howells
2015-11-20 14:56 ` [PATCH 10/12] fsinfo: AFS: " David Howells
2015-11-20 14:56 ` [PATCH 11/12] fsinfo: NFS: " David Howells
     [not found] ` <20151120145422.18930.72662.stgit-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2015-11-20 14:56   ` [PATCH 12/12] fsinfo: CIFS: " David Howells
2015-11-20 14:56     ` David Howells
2015-11-24  8:11   ` [RFC][PATCH 00/12] Enhanced file stat system call Christoph Hellwig
2015-11-24  8:11     ` Christoph Hellwig
2015-11-20 16:19 ` Martin Steigerwald
2015-11-24  8:13   ` Christoph Hellwig
2015-11-24  8:48     ` Martin Steigerwald
2015-11-24  8:50       ` Christoph Hellwig
2015-11-20 16:28 ` David Howells
2015-11-20 16:28   ` David Howells
2015-11-20 16:35   ` Martin Steigerwald
     [not found]   ` <4495.1448036915-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2015-11-25 17:51     ` J. Bruce Fields
2015-11-25 17:51       ` J. Bruce Fields
     [not found]       ` <20151125175153.GA30335-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2015-11-25 19:30         ` Andreas Dilger
2015-11-25 19:30           ` Andreas Dilger
2015-11-20 16:50 ` Casey Schaufler
     [not found]   ` <564F4F4E.8060603-iSGtlc1asvQWG2LlvL+J4A@public.gmane.org>
2015-11-24  8:15     ` Christoph Hellwig
2015-11-24  8:15       ` Christoph Hellwig
2015-11-24 14:43       ` Casey Schaufler
2015-11-24 16:28   ` Andreas Dilger
2015-11-26 15:19 ` David Howells
2015-11-26 22:06   ` Andreas Dilger

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=4966628.zR0sijQ42t@wuerfel \
    --to=arnd-r2ngtmty4d4@public.gmane.org \
    --cc=deepa.kernel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-afs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-ext4-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=samba-technical-w/Ol4Ecudpl8XjKLYN78aQ@public.gmane.org \
    --cc=tytso-3s7WtUTddSA@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.