From mboxrd@z Thu Jan 1 00:00:00 1970 From: Theodore Ts'o Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Mon, 2 Jun 2014 11:31:24 -0400 Message-ID: <20140602153124.GH30598@thunk.org> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: xfs-bounces@oss.sgi.com Sender: xfs-bounces@oss.sgi.com To: Chuck Lever Cc: Nicolas Pitre , linux-arch@vger.kernel.org, Linux NFS Mailing List , Arnd Bergmann , 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 List-Id: linux-arch.vger.kernel.org T24gTW9uLCBKdW4gMDIsIDIwMTQgYXQgMTE6MDQ6MjNBTSAtMDQwMCwgQ2h1Y2sgTGV2ZXIgd3Jv dGU6Cj4gSeKAmW0gd29uZGVyaW5nIHdoYXQgc2hvdWxkIGJlIGRvbmUgYWJvdXQgTkZTLiBBIHNv bHV0aW9uIGZvciBORlMgc2hvdWxkCj4gbWF0Y2ggYW55IHNjaGVtZSB0aGF0IGlzIGNvbnNpZGVy ZWQgZm9yIGxvY2FsIGZpbGUgc3lzdGVtcywgSU1PLgo+IAo+IEFuIGFsdGVybmF0aXZlIHdvdWxk IGJlIHRvIOKAnGNhcOKAnSB0aGUgdGltZXN0YW1wcyB0cmFuc21pdHRlZCB2aWEgTkZTdjMgYnkK PiBMaW51eCwgc28gdGhhdCBhIHByZS1lcG9jaCB0aW1lc3RhbXAgaXMgdHJhbnNtaXR0ZWQgYXMg emVybywgYW5kIGEgbGFyZ2UKPiB0aW1lc3RhbXAgaXMgdHJhbnNtaXR0ZWQgYXMgVUlOVF9NQVgu CgoKSSB3b25kZXIgaWYgaXQgd291bGQgbWFrZSBzZW5zZSB0byB0cnkgdG8gcHJvbXVsZ2F0ZSB2 aWEgdGhlIEF1c3Rpbgpncm91cCwgYW5kIHBvc3NpYmx5IHRoZSBDIHN0YW5kYXJkcyBjb21taXR0 ZWUgdGhlIGNvbmNlcHQgb2YgYSBiaXQKcGF0dGVybiAodGhhdCBtaWdodCBjb21tb25seSBiZSBJ TlRfTUFYIG9yIFVJTlRfTUFYKSB0aGF0IG1lYW5zICJ0aW1lCnVua25vd24iLCBvciAidGltZSBp bmRlZmluaXRlIiBvciAid2UgY291bGRuJ3QgZW5jb2RlIHRoZSB0aW1lIi4KCldlIHdvdWxkIHRo ZW4gdGVhY2ggZ210aW1lKDMpIGFuZCBhc2N0aW1lKDMpIHRvIHByaW50IHNvbWUgYXBwcm9wcmlh dGUKbWVzc2FnZSwgYW5kIHdlIGNvdWxkIHRlYWNoIHByb2dyYW1zIGxpa2UgZmluZCAod2l0aCB0 aGUgLW10aW1lKQpvcHRpb24sIG1ha2UsIHRtcHdhdGNoLCBldC4gYWwuLCB0aGF0IHRoZXkgY2Fu J3QgbWFrZSBhbnkgcHJlc3VtcHRpb24KYWJvdXQgdGhlIGNvbXBhcmliaWxpdHkgb2YgYW55IHRp bWVzdGFtcCB3aGljaCBoYXMgYSB2YWx1ZSBvZgpUSU1FX1VOREVGSU5JRUQuCgpJdCB3b3VsZCBi ZSBwcm9ibGVtYXRpYyBmb3IgdGltZSgyKSBvciBnZXR0aW1lb2ZkYXkoMikgdG8gcmV0dXJuClRJ TUVfVU5ERUZJTkVELCBzaW5jZSB0aGVyZSBhcmUgcHJvZ3JhbXMgdGhhdCBjYXJlIGFib3V0IHRp bWUgdGlja2luZwpmb3J3YXJkLCBidXQgSSBjb3VsZCBpbWFnaW5lIGEgbmV3IGludGVyZmFjZSB3 aGljaCB3b3VsZCBiZSBwZXJtaXR0ZWQKdG8gcmV0dXJuIGEgZmxhZyBpbmRpY2F0aW5nIHRoYXQg d2UgZG9uJ3Qga25vdyB0aGUgY3VycmVudCB0aW1lCihiZWNhdXNlIHRoZSBDTU9TIGJhdHRlcnkg aGFkIHJ1biBkb3duLCBldGMuKSBzbyBpbnN0ZWFkIHdlJ3JlIGdvaW5nCnRvIGJlIGNvdW50aW5n IHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSB0aGUgc3lzdGVtIHdhcyBib290ZWQuCgogICAg CSAgICAgIAkgICAgICAJICAgIAkgICAgICAgLSBUZWQKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCnhmcyBtYWlsaW5nIGxpc3QKeGZzQG9zcy5zZ2kuY29t Cmh0dHA6Ly9vc3Muc2dpLmNvbS9tYWlsbWFuL2xpc3RpbmZvL3hmcwo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from imap.thunk.org ([74.207.234.97]:45729 "EHLO imap.thunk.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752132AbaFBPbn (ORCPT ); Mon, 2 Jun 2014 11:31:43 -0400 Date: Mon, 2 Jun 2014 11:31:24 -0400 From: Theodore Ts'o Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <20140602153124.GH30598@thunk.org> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Chuck Lever Cc: Arnd Bergmann , Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , LKML Kernel , linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, Christoph Hellwig , tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel , xfs@oss.sgi.com, Linux NFS Mailing List Message-ID: <20140602153124.gVqUqib06anM0ElTTtjK9ku2UcBikCncRbzZYYWlET4@z> On Mon, Jun 02, 2014 at 11:04:23AM -0400, Chuck Lever wrote: > I’m wondering what should be done about NFS. A solution for NFS should > match any scheme that is considered for local file systems, IMO. > > An alternative would be to “cap” the timestamps transmitted via NFSv3 by > Linux, so that a pre-epoch timestamp is transmitted as zero, and a large > timestamp is transmitted as UINT_MAX. I wonder if it would make sense to try to promulgate via the Austin group, and possibly the C standards committee the concept of a bit pattern (that might commonly be INT_MAX or UINT_MAX) that means "time unknown", or "time indefinite" or "we couldn't encode the time". We would then teach gmtime(3) and asctime(3) to print some appropriate message, and we could teach programs like find (with the -mtime) option, make, tmpwatch, et. al., that they can't make any presumption about the comparibility of any timestamp which has a value of TIME_UNDEFINIED. It would be problematic for time(2) or gettimeofday(2) to return TIME_UNDEFINED, since there are programs that care about time ticking forward, but I could imagine a new interface which would be permitted to return a flag indicating that we don't know the current time (because the CMOS battery had run down, etc.) so instead we're going to be counting the number of seconds since the system was booted. - Ted