From 1bec033e97d8868b8d31ecc61b4e3ca0d1697d14 Mon Sep 17 00:00:00 2001 From: James Simmons Date: Fri, 27 Jan 2017 22:53:33 -0500 Subject: [PATCH] LU-9019 o2iblnd: use 64-bit ibn_incarnation computation ibn_incarnation is a 64-bit value, but using timeval to compute it will cause an overflow in 2038. This changes it to use ktime_get_real_ns() instead. Change-Id: I4698a046ece30a85c93ac1f12e541d81fcfd70f2 Signed-off-by: James Simmons Reviewed-on: https://review.whamcloud.com/23267 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Doug Oucharek Reviewed-by: Andreas Dilger Reviewed-by: Oleg Drokin --- lnet/klnds/o2iblnd/o2iblnd.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lnet/klnds/o2iblnd/o2iblnd.c b/lnet/klnds/o2iblnd/o2iblnd.c index cd136b3..0124636 100644 --- a/lnet/klnds/o2iblnd/o2iblnd.c +++ b/lnet/klnds/o2iblnd/o2iblnd.c @@ -3179,7 +3179,6 @@ kiblnd_startup (lnet_ni_t *ni) char *ifname; kib_dev_t *ibdev = NULL; kib_net_t *net; - struct timeval tv; unsigned long flags; int rc; int newdev; @@ -3198,8 +3197,7 @@ kiblnd_startup (lnet_ni_t *ni) if (net == NULL) goto failed; - do_gettimeofday(&tv); - net->ibn_incarnation = (((__u64)tv.tv_sec) * 1000000) + tv.tv_usec; + net->ibn_incarnation = ktime_get_real_ns() / NSEC_PER_USEC; kiblnd_tunables_setup(ni); -- 1.8.3.1