Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1419393

Re: [PATCH 18/21] fs: nfs: Make nfs boot time y2038 safe

From Anna Schumaker <Anna.Schumaker@netapp.com>
Newsgroups linux.kernel
Subject Re: [PATCH 18/21] fs: nfs: Make nfs boot time y2038 safe
Date 2016-06-10 15:20 +0200
Message-ID <rIuvU-527-19@gated-at.bofh.it> (permalink)
References <rI0o9-1PH-9@gated-at.bofh.it> <rI0xQ-1Vf-19@gated-at.bofh.it> <rIdOq-2fC-17@gated-at.bofh.it> <rIfwT-3u0-57@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 06/09/2016 05:10 PM, Deepa Dinamani wrote:
>>> boot_time is represented as a struct timespec.
>>> struct timespec and CURRENT_TIME are not y2038 safe.
>>> Overall, the plan is to use timespec64 for all internal
>>> kernel representation of timestamps.
>>> CURRENT_TIME will also be removed.
>>> Use struct timespec64 to represent boot_time.
>>> And, ktime_get_real_ts64() for the boot_time value.
>>>
>>> boot_time is used to construct the nfs client boot verifier.
>>> This will now wrap in 2106 instead of 2038 on 32-bit systems.
>>> The server only relies on the value being persistent until
>>> reboot so the wrapping should be fine.
>>
>> We really do not give a damn about wraparound here, since the boot time is
>> only ever compared for an exact match, and the odds of two reboots occurring
>> exactly 2^32 * 10^9 nanoseconds apart are cosmically small...
>> If struct timespec is going away, can we just convert this into a ktime_t?
> 
> timespec64 is the same as timespec already on 64 bit machines.
> But, yes, we can use ktime_t here.
> 
> Did you mean the internal storage value or the wire boo_time used for verifier?
> In case you don't want to change the wire value, then we will have a division
> operation, every time the verifier needs to be sent.

The verifier is mostly used during mounting, so we don't send too many of them.  I don't think we need to worry about adding an extra division operation here, they're pretty cheap compared to making RPC calls! :)

Anna

> 
> -Deepa
> 
> -Deepa
> 

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/21] Delete CURRENT_TIME and CURRENT_TIME_SEC macros Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-09 07:20 +0200
  [PATCH 18/21] fs: nfs: Make nfs boot time y2038 safe Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-09 07:20 +0200
    Re: [PATCH 18/21] fs: nfs: Make nfs boot time y2038 safe Trond Myklebust <trondmy@primarydata.com> - 2016-06-09 21:30 +0200
      Re: [PATCH 18/21] fs: nfs: Make nfs boot time y2038 safe Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-09 23:20 +0200
        Re: [PATCH 18/21] fs: nfs: Make nfs boot time y2038 safe Anna Schumaker <Anna.Schumaker@netapp.com> - 2016-06-10 15:20 +0200
          Re: [PATCH 18/21] fs: nfs: Make nfs boot time y2038 safe Trond Myklebust <trondmy@primarydata.com> - 2016-06-10 16:10 +0200
  [PATCH 02/21] fs: ext4: Use current_fs_time() for inode timestamps Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-09 07:20 +0200
    Re: [PATCH 02/21] fs: ext4: Use current_fs_time() for inode timestamps Linus Torvalds <torvalds@linux-foundation.org> - 2016-06-09 20:50 +0200
      Re: [PATCH 02/21] fs: ext4: Use current_fs_time() for inode timestamps Linus Torvalds <torvalds@linux-foundation.org> - 2016-06-09 21:00 +0200
      Re: [Y2038] [PATCH 02/21] fs: ext4: Use current_fs_time() for inode timestamps Arnd Bergmann <arnd@arndb.de> - 2016-06-11 00:20 +0200
  [PATCH 07/21] fs: cifs: Replace CURRENT_TIME by current_fs_time() Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-09 07:20 +0200
  Re: [PATCH 01/21] fs: Replace CURRENT_TIME_SEC with current_fs_time() Jan Kara <jack@suse.cz> - 2016-06-09 09:40 +0200
    Re: [PATCH 01/21] fs: Replace CURRENT_TIME_SEC with current_fs_time() Linus Torvalds <torvalds@linux-foundation.org> - 2016-06-09 21:20 +0200
      Re: [PATCH 01/21] fs: Replace CURRENT_TIME_SEC with current_fs_time() Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-09 22:50 +0200
  Re: [PATCH 00/21] Delete CURRENT_TIME and CURRENT_TIME_SEC macros Felipe Balbi <balbi@kernel.org> - 2016-06-09 10:00 +0200
  Re: [PATCH 01/21] fs: Replace CURRENT_TIME_SEC with current_fs_time() Bob Copeland <me@bobcopeland.com> - 2016-06-09 14:40 +0200
  Re: [PATCH 01/21] fs: Replace CURRENT_TIME_SEC with current_fs_time() Arnd Bergmann <arnd@arndb.de> - 2016-06-11 00:30 +0200
    Re: [PATCH 01/21] fs: Replace CURRENT_TIME_SEC with current_fs_time() Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-11 07:10 +0200

csiph-web