From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753508AbaFBTLP (ORCPT ); Mon, 2 Jun 2014 15:11:15 -0400 Received: from mout.kundenserver.de ([212.227.126.131]:64161 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752396AbaFBTLN convert rfc822-to-8bit (ORCPT ); Mon, 2 Jun 2014 15:11:13 -0400 From: Arnd Bergmann To: Chuck Lever Cc: Roger Willcocks , Nicolas Pitre , linux-arch@vger.kernel.org, Linux NFS Mailing List , LKML Kernel , lftan@altera.com, Christoph Hellwig , john.stultz@linaro.org, "H. Peter Anvin" , linux-fsdevel , geert@linux-m68k.org, tglx@linutronix.de, xfs@oss.sgi.com, joseph@codesourcery.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Mon, 02 Jun 2014 21:10:47 +0200 Message-ID: <5585593.Xe5bNQZW47@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <1401735504.6065.227.camel@montana.filmlight.ltd.uk> MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset="utf-8" X-Provags-ID: V02:K0:bXrzJyAzgEKl81TStkjWbriSWSQaIN1lXC/BVPRzOz9 e30zFHO7wPv9NopQs9o8/IgxftJc9DDKjL53AxDp+l3XKLijd+ upWIbCPzGW1r8f8geTxrDyIE3BE/onm56ZedlUsedp7gNMRlS6 w7UUVdX0kK5SXmohuocp+rVbbAWlcpfN/cuR81+dIt4B6W0qsZ iJsankvJXyzjGgqoUrSWX7U0AJbaAZBVG96Le54OrgKAZ59QtO Sk4u9CXEmfLJU+6IYhUpOOzUNOfQ7zvBrjSFfQBvEf8DpVmRud +Rf7HefjAQWGKMtBBV2wfhMvr6ClnqxahqO9GvJQdCp2PqG369 IJiBY9Yez2sg4pUorR+U= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Monday 02 June 2014 15:04:27 Chuck Lever wrote: > On Jun 2, 2014, at 2:58 PM, Roger Willcocks wrote: > > > > > On Mon, 2014-06-02 at 11:04 -0400, Chuck Lever wrote: > > > >> NFSv2/3 timestamps are a pair of unsigned 32-bit values: one value for > >> seconds since midnight GMT Jan 1, 1970, and one value for nanoseconds. > >> (See the definition of nfstime3 in RFC 1813). > >> > > > > nfstime3 could be extended by redefining the otherwise unused > > nanoseconds bits{31,30} as seconds{33,32}, to give a (signed) 34-bit > > seconds field and an unsigned 30-bit nanoseconds field. > > > > This could represent 1970 +/- 272 years. > > > > Servers could indicate they can understand the extended time format by > > adding a new FSINFO capability - FSF3_CANSETTIME_EX. > > > > Clients would use a new SET_TO_CLIENT_TIME_EX time_how enum when sending > > timestamps so old servers would be protected from new clients. > > You would have to get the IETF’s NFSv4 working group to sign off on > this change. Otherwise, Linux would be the only NFSv3 implementation > that supports the extension. > > But I suspect the answer you’d get is “Use NFSv4.” While I've never dealt with an NFS standardization, I'd assume this is a workable answer. The NFSv2 and NFSv3 definition clearly defines a valid range of times until 2106 using unsigned seconds, and that should really give enough time to migrate to something better (not necessarily NFSv4). Arnd