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
next prev 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: linkBe 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.