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: linux-cifs@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
	y2038@lists.linaro.org, samba-technical@lists.samba.org,
	Steve French <sfrench@samba.org>,
	Al Viro <viro@zeniv.linux.org.uk>,
	Thomas Gleixner <tglx@linutronix.de>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: [PATCH 09/21] fs: cifs: Replace CURRENT_TIME by get_seconds
Date: Wed,  8 Jun 2016 22:04:53 -0700	[thread overview]
Message-ID: <1465448705-25055-10-git-send-email-deepa.kernel@gmail.com> (raw)
In-Reply-To: <1465448705-25055-1-git-send-email-deepa.kernel@gmail.com>

This is in preparation for the change that transitions
filesystem timestamps to use 64 bit time and hence make
them y2038 safe.

CURRENT_TIME macro will be deleted before merging the
aforementioned patch.

Filesystems will use current_fs_time() instead of
CURRENT_TIME.
Use get_seconds() here as this is not filesystem time.
Only the seconds portion of the timestamp is necessary for
timezone calculation using server time.

Assume that the difference between server and client times
lie in the range INT_MIN..INT_MAX. This is valid because
this is the difference between current times between server
and client, and the largest timezone difference is in the
range of one day.

All cifs timestamps currently use timespec internally.
This timestamp can also be transitioned into using
timespec64 when all other timestamps for cifs is transitioned
to use timespec64.

Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
Cc: Steve French <sfrench@samba.org>
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
---
 fs/cifs/cifssmb.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index d47197e..aeae6a0 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -478,14 +478,14 @@ decode_lanman_negprot_rsp(struct TCP_Server_Info *server, NEGOTIATE_RSP *pSMBr)
 		 * this requirement.
 		 */
 		int val, seconds, remain, result;
-		struct timespec ts, utc;
-		utc = CURRENT_TIME;
+		struct timespec ts;
+		unsigned long utc = get_seconds();
 		ts = cnvrtDosUnixTm(rsp->SrvTime.Date,
 				    rsp->SrvTime.Time, 0);
 		cifs_dbg(FYI, "SrvTime %d sec since 1970 (utc: %d) diff: %d\n",
-			 (int)ts.tv_sec, (int)utc.tv_sec,
-			 (int)(utc.tv_sec - ts.tv_sec));
-		val = (int)(utc.tv_sec - ts.tv_sec);
+			 (int)ts.tv_sec, (int)utc,
+			 (int)(utc - ts.tv_sec));
+		val = (int)(utc - ts.tv_sec);
 		seconds = abs(val);
 		result = (seconds / MIN_TZ_ADJ) * MIN_TZ_ADJ;
 		remain = seconds % MIN_TZ_ADJ;
-- 
1.9.1

_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

WARNING: multiple messages have this Message-ID (diff)
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, Steve French <sfrench@samba.org>,
	linux-cifs@vger.kernel.org, samba-technical@lists.samba.org
Subject: [PATCH 09/21] fs: cifs: Replace CURRENT_TIME by get_seconds
Date: Wed,  8 Jun 2016 22:04:53 -0700	[thread overview]
Message-ID: <1465448705-25055-10-git-send-email-deepa.kernel@gmail.com> (raw)
In-Reply-To: <1465448705-25055-1-git-send-email-deepa.kernel@gmail.com>

This is in preparation for the change that transitions
filesystem timestamps to use 64 bit time and hence make
them y2038 safe.

CURRENT_TIME macro will be deleted before merging the
aforementioned patch.

Filesystems will use current_fs_time() instead of
CURRENT_TIME.
Use get_seconds() here as this is not filesystem time.
Only the seconds portion of the timestamp is necessary for
timezone calculation using server time.

Assume that the difference between server and client times
lie in the range INT_MIN..INT_MAX. This is valid because
this is the difference between current times between server
and client, and the largest timezone difference is in the
range of one day.

All cifs timestamps currently use timespec internally.
This timestamp can also be transitioned into using
timespec64 when all other timestamps for cifs is transitioned
to use timespec64.

Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
Cc: Steve French <sfrench@samba.org>
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
---
 fs/cifs/cifssmb.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index d47197e..aeae6a0 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -478,14 +478,14 @@ decode_lanman_negprot_rsp(struct TCP_Server_Info *server, NEGOTIATE_RSP *pSMBr)
 		 * this requirement.
 		 */
 		int val, seconds, remain, result;
-		struct timespec ts, utc;
-		utc = CURRENT_TIME;
+		struct timespec ts;
+		unsigned long utc = get_seconds();
 		ts = cnvrtDosUnixTm(rsp->SrvTime.Date,
 				    rsp->SrvTime.Time, 0);
 		cifs_dbg(FYI, "SrvTime %d sec since 1970 (utc: %d) diff: %d\n",
-			 (int)ts.tv_sec, (int)utc.tv_sec,
-			 (int)(utc.tv_sec - ts.tv_sec));
-		val = (int)(utc.tv_sec - ts.tv_sec);
+			 (int)ts.tv_sec, (int)utc,
+			 (int)(utc - ts.tv_sec));
+		val = (int)(utc - ts.tv_sec);
 		seconds = abs(val);
 		result = (seconds / MIN_TZ_ADJ) * MIN_TZ_ADJ;
 		remain = seconds % MIN_TZ_ADJ;
-- 
1.9.1

  parent reply	other threads:[~2016-06-09  5:04 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 ` Deepa Dinamani [this message]
2016-06-09  5:04   ` [PATCH 09/21] fs: cifs: Replace CURRENT_TIME by get_seconds 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 ` [PATCH 18/21] fs: nfs: Make nfs boot time y2038 safe Deepa Dinamani
2016-06-09 19:23   ` 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-10-git-send-email-deepa.kernel@gmail.com \
    --to=deepa.kernel@gmail.com \
    --cc=arnd@arndb.de \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=samba-technical@lists.samba.org \
    --cc=sfrench@samba.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --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.