| To: | Chuck Lever <chuck.lever@xxxxxxxxxx> |
|---|---|
| Subject: | Re: [RFC 11/32] xfs: convert to struct inode_time |
| From: | Roger Willcocks <roger@xxxxxxxxxxxxxxxx> |
| Date: | Mon, 02 Jun 2014 19:58:24 +0100 |
| Cc: | Arnd Bergmann <arnd@xxxxxxxx>, Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>, linux-arch@xxxxxxxxxxxxxxx, Linux NFS Mailing List <linux-nfs@xxxxxxxxxxxxxxx>, LKML Kernel <linux-kernel@xxxxxxxxxxxxxxx>, lftan@xxxxxxxxxx, Christoph Hellwig <hch@xxxxxxxxxxxxx>, john.stultz@xxxxxxxxxx, "H. Peter Anvin" <hpa@xxxxxxxxx>, linux-fsdevel <linux-fsdevel@xxxxxxxxxxxxxxx>, geert@xxxxxxxxxxxxxx, tglx@xxxxxxxxxxxxx, xfs@xxxxxxxxxxx, joseph@xxxxxxxxxxxxxxxx |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <6868F108-F0B2-423F-AE31-90DF86A5B7DD@xxxxxxxxxx> |
| References: | <1401480116-1973111-1-git-send-email-arnd@xxxxxxxx> <8618458.1EVJCoVbkH@wuerfel> <alpine.LFD.2.11.1406012121430.17310@xxxxxxxxxxx> <4178301.j9kWdGCRLC@wuerfel> <6868F108-F0B2-423F-AE31-90DF86A5B7DD@xxxxxxxxxx> |
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.
Old clients don't need to be protected from new servers because the
on-the-wire bit pattern for dates between 1970 and 2106 stays the same,
so they're no worse off than they were before.
Arguably the new server ought to clamp out-of-range timestamps before
sending them to old clients but that would need per-client state (and
nfs3 is stateless.)
--
Roger
|
| Previous by Date: | Re: [RFC 11/32] xfs: convert to struct inode_time, Arnd Bergmann |
|---|---|
| Next by Date: | Re: [RFC 11/32] xfs: convert to struct inode_time, Chuck Lever |
| Previous by Thread: | Re: [RFC 11/32] xfs: convert to struct inode_time, Arnd Bergmann |
| Next by Thread: | Re: [RFC 11/32] xfs: convert to struct inode_time, Chuck Lever |
| Indexes: | [Date] [Thread] [Top] [All Lists] |