All of lore.kernel.org
 help / color / mirror / Atom feed
From: Deepa Dinamani <deepa.kernel@gmail.com>
To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Arnd Bergmann <arnd@arndb.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Al Viro <viro@zeniv.linux.org.uk>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	y2038@lists.linaro.org,
	Trond Myklebust <trond.myklebust@primarydata.com>,
	Anna Schumaker <anna.schumaker@netapp.com>,
	linux-nfs@vger.kernel.org
Subject: [PATCH 18/21] fs: nfs: Make nfs boot time y2038 safe
Date: Wed,  8 Jun 2016 22:05:02 -0700	[thread overview]
Message-ID: <1465448705-25055-19-git-send-email-deepa.kernel@gmail.com> (raw)
In-Reply-To: <1465448705-25055-1-git-send-email-deepa.kernel@gmail.com>

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.

Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
Cc: Trond Myklebust <trond.myklebust@primarydata.com>
Cc: Anna Schumaker <anna.schumaker@netapp.com>
Cc: linux-nfs@vger.kernel.org
---
 fs/nfs/client.c | 2 +-
 fs/nfs/netns.h  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index 0c96528..406972e 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -1080,7 +1080,7 @@ void nfs_clients_init(struct net *net)
 	idr_init(&nn->cb_ident_idr);
 #endif
 	spin_lock_init(&nn->nfs_client_lock);
-	nn->boot_time = CURRENT_TIME;
+	ktime_get_real_ts64(&nn->boot_time);
 }
 
 #ifdef CONFIG_PROC_FS
diff --git a/fs/nfs/netns.h b/fs/nfs/netns.h
index f0e06e4..48d6b95 100644
--- a/fs/nfs/netns.h
+++ b/fs/nfs/netns.h
@@ -29,7 +29,7 @@ struct nfs_net {
 	int cb_users[NFS4_MAX_MINOR_VERSION + 1];
 #endif
 	spinlock_t nfs_client_lock;
-	struct timespec boot_time;
+	struct timespec64 boot_time;
 #ifdef CONFIG_PROC_FS
 	struct proc_dir_entry *proc_nfsfs;
 #endif
-- 
1.9.1

  parent reply	other threads:[~2016-06-09  5:07 UTC|newest]

Thread overview: 140+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-09  5:04 [PATCH 00/21] Delete CURRENT_TIME and CURRENT_TIME_SEC macros Deepa Dinamani
2016-06-09  5:04 ` [Cluster-devel] " Deepa Dinamani
2016-06-09  5:04 ` [Ocfs2-devel] " Deepa Dinamani
2016-06-09  5:04 ` Deepa Dinamani
2016-06-09  5:04 ` Deepa Dinamani
2016-06-09  5:04 ` Deepa Dinamani
2016-06-09  5:04 ` [PATCH 01/21] fs: Replace CURRENT_TIME_SEC with current_fs_time() Deepa Dinamani
2016-06-09  5:04   ` Deepa Dinamani
2016-06-09  5:04   ` Deepa Dinamani
2016-06-09  7:35   ` Jan Kara
2016-06-09  7:35     ` Jan Kara
2016-06-09  7:35     ` Jan Kara
2016-06-09 19:15     ` Linus Torvalds
2016-06-09 19:15       ` Linus Torvalds
2016-06-09 19:15       ` Linus Torvalds
2016-06-09 20:41       ` Deepa Dinamani
2016-06-09 20:41         ` Deepa Dinamani
2016-06-09 20:41         ` Deepa Dinamani
2016-06-09 12:31   ` Bob Copeland
2016-06-09 12:31     ` Bob Copeland
2016-06-10 22:21   ` Arnd Bergmann
2016-06-10 22:21     ` Arnd Bergmann
2016-06-11  5:03     ` Deepa Dinamani
2016-06-11  5:03       ` Deepa Dinamani
2016-06-11 20:55       ` Arnd Bergmann
2016-06-11 20:55         ` Arnd Bergmann
2016-06-09  5:04 ` [PATCH 02/21] fs: ext4: Use current_fs_time() for inode timestamps Deepa Dinamani
2016-06-09  5:04   ` Deepa Dinamani
2016-06-09 18:45   ` Linus Torvalds
2016-06-09 18:45     ` Linus Torvalds
2016-06-09 18:55     ` Linus Torvalds
2016-06-10 22:19     ` [Y2038] " Arnd Bergmann
2016-06-10 22:19       ` Arnd Bergmann
2016-06-14 17:55       ` [Y2038] " Deepa Dinamani
2016-06-14 20:59         ` Arnd Bergmann
2016-06-14 20:59           ` Arnd Bergmann
2016-06-09  5:04 ` [PATCH 03/21] fs: ubifs: " Deepa Dinamani
2016-06-09  5:04 ` [PATCH 04/21] fs: Replace CURRENT_TIME with " Deepa Dinamani
2016-06-09  5:04   ` Deepa Dinamani
2016-06-09  5:04   ` [Cluster-devel] " Deepa Dinamani
2016-06-09  5:04   ` [Ocfs2-devel] " Deepa Dinamani
2016-06-09  5:04   ` Deepa Dinamani
2016-06-09  5:04   ` Deepa Dinamani
2016-06-09  5:04   ` Deepa Dinamani
2016-06-09  7:55   ` David Sterba
2016-06-09  7:55     ` [Cluster-devel] " David Sterba
2016-06-09  7:55     ` [Ocfs2-devel] " David Sterba
2016-06-09  7:55     ` David Sterba
2016-06-09  7:55     ` David Sterba
2016-06-09  7:55     ` David Sterba
2016-06-09 10:28   ` Steven Whitehouse
2016-06-09 10:28     ` [Cluster-devel] " Steven Whitehouse
2016-06-09 10:28     ` [Ocfs2-devel] " Steven Whitehouse
2016-06-09 10:28     ` Steven Whitehouse
2016-06-09 10:28     ` Steven Whitehouse
2016-06-09 19:08   ` Linus Torvalds
2016-06-09 19:08     ` [Cluster-devel] " Linus Torvalds
2016-06-09 19:08     ` [Ocfs2-devel] " Linus Torvalds
2016-06-09 19:08     ` Linus Torvalds
2016-06-09 19:08     ` Linus Torvalds
2016-06-09 19:08     ` Linus Torvalds
2016-06-09 20:38     ` Deepa Dinamani
2016-06-09 20:38       ` [Cluster-devel] " Deepa Dinamani
2016-06-09 20:38       ` [Ocfs2-devel] " Deepa Dinamani
2016-06-09 20:38       ` Deepa Dinamani
2016-06-09 20:38       ` Deepa Dinamani
2016-06-09 20:38       ` Deepa Dinamani
2016-06-09 21:02       ` Linus Torvalds
2016-06-09 21:02         ` [Cluster-devel] " Linus Torvalds
2016-06-09 21:02         ` [Ocfs2-devel] " Linus Torvalds
2016-06-09 21:02         ` Linus Torvalds
2016-06-09 21:02         ` Linus Torvalds
2016-06-09 21:02         ` Linus Torvalds
2016-06-10 22:23   ` Arnd Bergmann
2016-06-10 22:23   ` Arnd Bergmann
2016-06-10 22:23     ` [Cluster-devel] " Arnd Bergmann
2016-06-10 22:23     ` Arnd Bergmann
2016-06-10 22:23     ` [Ocfs2-devel] " Arnd Bergmann
2016-06-10 22:23     ` Arnd Bergmann
2016-06-10 22:23     ` Arnd Bergmann
2016-06-10 22:23     ` Arnd Bergmann
2016-06-09  5:04 ` [PATCH 05/21] fs: jfs: Replace CURRENT_TIME_SEC by current_fs_time() Deepa Dinamani
2016-06-09  5:04 ` [PATCH 06/21] fs: udf: Replace CURRENT_TIME with current_fs_time() Deepa Dinamani
2016-06-09  7:41   ` Jan Kara
2016-06-10  0:53     ` Deepa Dinamani
2016-06-09  5:04 ` [PATCH 07/21] fs: cifs: Replace CURRENT_TIME by current_fs_time() Deepa Dinamani
2016-06-09  5:04   ` Deepa Dinamani
2016-06-09  5:04 ` [PATCH 08/21] fs: cifs: Replace CURRENT_TIME with ktime_get_real_ts() Deepa Dinamani
2016-06-09  5:04   ` Deepa Dinamani
2016-06-09  5:04 ` [PATCH 09/21] fs: cifs: Replace CURRENT_TIME by get_seconds Deepa Dinamani
2016-06-09  5:04   ` Deepa Dinamani
2016-06-09  5:04 ` [PATCH 10/21] fs: f2fs: Use ktime_get_real_seconds for sit_info times Deepa Dinamani
2016-06-09  5:04   ` Deepa Dinamani
2016-06-09  5:04 ` [PATCH 11/21] drivers: staging: lustre: Replace CURRENT_TIME with current_fs_time() Deepa Dinamani
2016-06-09  5:04   ` [lustre-devel] " Deepa Dinamani
2016-06-11  0:36   ` James Simmons
2016-06-11  0:36     ` James Simmons
2016-06-11  1:53     ` Andreas Dilger
2016-06-11  1:53       ` Andreas Dilger
2016-06-09  5:04 ` [PATCH 12/21] block: rbd: Replace non inode " Deepa Dinamani
2016-06-09  5:04   ` Deepa Dinamani
2016-06-09  5:04 ` [PATCH 13/21] fs: ocfs2: Use time64_t to represent orphan scan times Deepa Dinamani
2016-06-09  5:04   ` [Ocfs2-devel] " Deepa Dinamani
2016-06-09  5:04 ` [PATCH 14/21] fs: ocfs2: Replace CURRENT_TIME with ktime_get_real_seconds() Deepa Dinamani
2016-06-09  5:04   ` [Ocfs2-devel] " Deepa Dinamani
2016-06-09  5:04 ` [PATCH 15/21] time: Add time64_to_tm() Deepa Dinamani
2016-06-14 21:18   ` John Stultz
2016-06-15 17:44     ` Deepa Dinamani
2016-06-17 20:52       ` John Stultz
2016-06-17 20:59         ` Deepa Dinamani
2016-06-17 21:06           ` Arnd Bergmann
2016-06-09  5:05 ` [PATCH 16/21] fnic: Use time64_t to represent trace timestamps Deepa Dinamani
2016-06-09  5:05 ` [PATCH 17/21] audit: Use timespec64 to represent audit timestamps Deepa Dinamani
2016-06-09 14:31   ` Steve Grubb
2016-06-09 23:59     ` Richard Guy Briggs
2016-06-09 23:59       ` Richard Guy Briggs
2016-06-10  0:19       ` Steve Grubb
2016-06-10  0:19         ` Steve Grubb
2016-06-10  1:44         ` Richard Guy Briggs
2016-06-10  1:44           ` Richard Guy Briggs
2016-06-15 21:23       ` Paul Moore
2016-06-10  0:45     ` Deepa Dinamani
2016-06-10  0:45       ` Deepa Dinamani
2016-06-09  5:05 ` Deepa Dinamani [this message]
2016-06-09 19:23   ` [PATCH 18/21] fs: nfs: Make nfs boot time y2038 safe Trond Myklebust
2016-06-09 19:23     ` Trond Myklebust
2016-06-09 21:10     ` Deepa Dinamani
2016-06-10 13:12       ` Anna Schumaker
2016-06-10 14:02         ` Trond Myklebust
2016-06-10 14:02           ` Trond Myklebust
2016-06-09  5:05 ` [PATCH 19/21] libceph: Remove CURRENT_TIME references Deepa Dinamani
2016-06-09  5:05 ` [PATCH 20/21] libceph: Replace CURRENT_TIME with ktime_get_real_ts Deepa Dinamani
2016-06-09  5:05   ` Deepa Dinamani
2016-06-09  5:05 ` [PATCH 21/21] time: Delete CURRENT_TIME_SEC and CURRENT_TIME macro Deepa Dinamani
2016-06-14 21:20   ` John Stultz
2016-06-09  7:51 ` [PATCH 00/21] Delete CURRENT_TIME and CURRENT_TIME_SEC macros Felipe Balbi
2016-06-09  7:51   ` [Cluster-devel] " Felipe Balbi
2016-06-09  7:51   ` [Ocfs2-devel] " Felipe Balbi
2016-06-09  7:51   ` Felipe Balbi
2016-06-09  7:51   ` Felipe Balbi

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=1465448705-25055-19-git-send-email-deepa.kernel@gmail.com \
    --to=deepa.kernel@gmail.com \
    --cc=anna.schumaker@netapp.com \
    --cc=arnd@arndb.de \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=trond.myklebust@primarydata.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=y2038@lists.linaro.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.