staging/lustre: 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_ts64() instead. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
70513c5d17
commit
473c4e0102
1 changed files with 4 additions and 3 deletions
|
@ -2749,7 +2749,7 @@ int kiblnd_startup(lnet_ni_t *ni)
|
|||
char *ifname;
|
||||
kib_dev_t *ibdev = NULL;
|
||||
kib_net_t *net;
|
||||
struct timeval tv;
|
||||
struct timespec64 tv;
|
||||
unsigned long flags;
|
||||
int rc;
|
||||
int newdev;
|
||||
|
@ -2767,8 +2767,9 @@ int kiblnd_startup(lnet_ni_t *ni)
|
|||
if (net == NULL)
|
||||
goto net_failed;
|
||||
|
||||
do_gettimeofday(&tv);
|
||||
net->ibn_incarnation = (((__u64)tv.tv_sec) * 1000000) + tv.tv_usec;
|
||||
ktime_get_real_ts64(&tv);
|
||||
net->ibn_incarnation = tv.tv_sec * USEC_PER_SEC +
|
||||
tv.tv_nsec / NSEC_PER_USEC;
|
||||
|
||||
ni->ni_peertimeout = *kiblnd_tunables.kib_peertimeout;
|
||||
ni->ni_maxtxcredits = *kiblnd_tunables.kib_credits;
|
||||
|
|
Loading…
Add table
Reference in a new issue