From patchwork Mon Nov 27 11:46:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 119687 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp136065qgn; Mon, 27 Nov 2017 03:47:28 -0800 (PST) X-Google-Smtp-Source: AGs4zMbeb3gPVQnBXfGCc8njs3nl2gs7BaOZyR1qUaU9a9y2dT4oWIyq3qdiu8UhFQx27Q9N2H68 X-Received: by 10.98.102.219 with SMTP id s88mr36770688pfj.191.1511783248517; Mon, 27 Nov 2017 03:47:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511783248; cv=none; d=google.com; s=arc-20160816; b=kTSiR95LZVClP1ZEDdQ1aNdi3vGvDNCtoaQRPFtydkIm3ft3BBJXCHoNmCmYW0x+6s wN42W5Pc33BAU13Re4WCq5b1V2JKto5LpG9F8xtk9LOtoXtrhWNkMFDWlFj/lkK8lc/d +W8HM9n0mZGbmi+iW2zyihFokAFoV1C+GF/zqePt1iXm5V0fLz8YijQQsMIg9QEZZpUJ Vs0VQjfDc82w7xBCVSTCJkYUZfqsEPRCOKYBtQ+vt+s/4IEnIWS0NET1x6grSj+VjI4n F1jGzpEGUroYb7XtU2QPJ731rsoHQd8vgnfqilsvqtA6UNdZhauu6PU3Pl9TnEbH8GZf Ta9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=0JRNylhw+pgxbZbLfkS2rolXsM7ozr4AUfAbuu8C9JA=; b=BLJHUW3nhWqeOL9XZSackY5JXlgrPAnvXmwQc0DIU4e5b9RkFgjtHcwQSDQc0uu4v8 QKCxN5fKynUrQOkzYK+PaU7SbMavEBvHoeBhyqoRxzwc67gc/Cc+eF25/hyQbbrvny1W /GYXkIYOuUH6Ua2zfhT1S7DZpqanNHxOKX/jnk6tf/yc52dX/GkdcWgDyWEwoMxkb5UM ufQuclh/7IJM6zxnwYAG7n5/dJSRlWj26/As7/mv4EarC/RuLhguEPPO+7afhd0OS3PR NR4ELcR6VF8ohEG28suZO3hlDjlKitOUpb2DLEuWnIZcP602ERStltCUhwYYAPB4Wii/ qGBg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s15si22982610pgc.789.2017.11.27.03.47.28; Mon, 27 Nov 2017 03:47:28 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752209AbdK0Lr0 (ORCPT + 28 others); Mon, 27 Nov 2017 06:47:26 -0500 Received: from mout.kundenserver.de ([212.227.126.133]:60666 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752085AbdK0LrX (ORCPT ); Mon, 27 Nov 2017 06:47:23 -0500 Received: from wuerfel.lan ([109.193.157.232]) by mrelayeu.kundenserver.de (mreue004 [212.227.15.129]) with ESMTPA (Nemesis) id 0M5cCK-1f3Fjb0lPE-00xdja; Mon, 27 Nov 2017 12:47:19 +0100 From: Arnd Bergmann To: Stefan Haberland , Jan Hoeppner , Martin Schwidefsky , Heiko Carstens Cc: y2038@lists.linaro.org, Arnd Bergmann , Sebastian Ott , linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] s390/dasd: remove 'struct timespec' usage Date: Mon, 27 Nov 2017 12:46:57 +0100 Message-Id: <20171127114715.2731901-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:aEl/HXRmyz/1pfaQ7c6qtSqkKQmL9lPBOPaFqAK0E4duHdOTN1K kRMaYzpgHwAlBTB1BdrndvIDSKO/MGS3Reoe2ZwNOEsj77H/uxtRMzpQY5b2lZbT3eQBeIx UXOxVrxON+l8ss9/p9AkcA+PTKEDQk+YO0KzFltOMS9fXfZTn48OhqXUtwLRuzvAeG/DbZx Hrimbp9sjX8bqM0KbrOMg== X-UI-Out-Filterresults: notjunk:1; V01:K0:EfMKCqwVsZ8=:5DTPXk9whdDoPs7XiJkRWS 5OjNqKcepz3UAZzNWhydhyJmeJ+VgPJlixZcF5MF0NbcVuqOEWG9tC05wPAn2akVFcvuDHOHV uu8Yu6WLxmaARwGq4y+Uc8qVq0qyJsXiF0B8HId2+Bt39TWSO1MkTpocrnJzGiFDXnNeWgQ4w 3wx82bkWdme1VXVL9rjphx1aRak32Dc1cvDS9G4qf8mDlZuR3zgWD87vvTEmvXl/QPFkKJvZj mApPywydOudoAuVLmUdI4d07BAYmfguGmRzEIxuACNsS9NDOeYS54nZv3ugbLErv2HM2XCZ8j 9XkMUjuvDYWssYkZOhy/Lo+kig8kKqzgStXXjkhYrzS+E8OiOBsIAKYxYIm+KlndRxC2LtaCy H7wOgj7ObRHr9BiLJVzAVtZIN0Hf6wY4LOG3PPEX6lsaUd3SrUf0w63XsC3Egys9wHz4vojc4 qypnYz9hBGKKcrzg8afv8HcXsedc51GhFZEvBg4+dipeNLjsqYXgABDcrlycE3/s9aWX/7pGD k/yIcraPOAPUovsoRte6zMVXC7EDPELtbSw7eqme+HB4UA/NKQS22D/zp7IohXlQzYb1NIvhr pkjUJWBOcYP1g9C5pkhcLgtRatxnZLcDh+KESttcucKZ5xzpZnDCG39EgRTH50zDwGwTm5D/U 4cSm93XJq98VELds3tFe/V0WjD706dV6NhIS03bC742fbwj1hyuNB3EQ5h8/ZBmYX8mp+BaFc Fb4ksXM5KbEtMBqEUGk6ddgQYtoFjYDww+6HkQ== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org getnstimeofday() and timespec are deprecated since they can overflow on 32-bit architectures. This simply changes to the explicitly typed timespec64 version that doesn't have that problem. It would be nice to also convert to monotonic timestamps and call ktime_get_ts64() rather than ktime_get_real_ts64(), but that would be a user-visible change. Signed-off-by: Arnd Bergmann --- drivers/s390/block/dasd.c | 10 +++++----- drivers/s390/block/dasd_int.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) -- 2.9.0 diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index 0f1ff0813493..f48b3d5082cf 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c @@ -758,7 +758,7 @@ static void dasd_profile_end_add_data(struct dasd_profile_info *data, /* in case of an overflow, reset the whole profile */ if (data->dasd_io_reqs == UINT_MAX) { memset(data, 0, sizeof(*data)); - getnstimeofday(&data->starttod); + ktime_get_real_ts64(&data->starttod); } data->dasd_io_reqs++; data->dasd_io_sects += sectors; @@ -893,7 +893,7 @@ void dasd_profile_reset(struct dasd_profile *profile) return; } memset(data, 0, sizeof(*data)); - getnstimeofday(&data->starttod); + ktime_get_real_ts64(&data->starttod); spin_unlock_bh(&profile->lock); } @@ -910,7 +910,7 @@ int dasd_profile_on(struct dasd_profile *profile) kfree(data); return 0; } - getnstimeofday(&data->starttod); + ktime_get_real_ts64(&data->starttod); profile->data = data; spin_unlock_bh(&profile->lock); return 0; @@ -994,8 +994,8 @@ static void dasd_stats_array(struct seq_file *m, unsigned int *array) static void dasd_stats_seq_print(struct seq_file *m, struct dasd_profile_info *data) { - seq_printf(m, "start_time %ld.%09ld\n", - data->starttod.tv_sec, data->starttod.tv_nsec); + seq_printf(m, "start_time %lld.%09ld\n", + (s64)data->starttod.tv_sec, data->starttod.tv_nsec); seq_printf(m, "total_requests %u\n", data->dasd_io_reqs); seq_printf(m, "total_sectors %u\n", data->dasd_io_sects); seq_printf(m, "total_pav %u\n", data->dasd_io_alias); diff --git a/drivers/s390/block/dasd_int.h b/drivers/s390/block/dasd_int.h index b095a23bcc0c..96709b1a7bf8 100644 --- a/drivers/s390/block/dasd_int.h +++ b/drivers/s390/block/dasd_int.h @@ -441,7 +441,7 @@ struct dasd_profile_info { unsigned int dasd_io_nr_req[32]; /* hist. of # of requests in chanq */ /* new data */ - struct timespec starttod; /* time of start or last reset */ + struct timespec64 starttod; /* time of start or last reset */ unsigned int dasd_io_alias; /* requests using an alias */ unsigned int dasd_io_tpm; /* requests using transport mode */ unsigned int dasd_read_reqs; /* total number of read requests */