Commit ec0067d1 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Greg Kroah-Hartman

staging/lustre: use 64-bit time for ni_last_alive

The ni_last_alive member of lnet_ni uses a 'long' to store a timestamp,
which breaks on 32-bit systems in 2038.

This changes it to use time64_t and the respective functions for it.
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarOleg Drokin <green@linuxhacker.ru>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 74ad578f
...@@ -264,7 +264,7 @@ typedef struct lnet_ni { ...@@ -264,7 +264,7 @@ typedef struct lnet_ni {
lnd_t *ni_lnd; /* procedural interface */ lnd_t *ni_lnd; /* procedural interface */
struct lnet_tx_queue **ni_tx_queues; /* percpt TX queues */ struct lnet_tx_queue **ni_tx_queues; /* percpt TX queues */
int **ni_refs; /* percpt reference count */ int **ni_refs; /* percpt reference count */
long ni_last_alive;/* when I was last alive */ time64_t ni_last_alive;/* when I was last alive */
lnet_ni_status_t *ni_status; /* my health status */ lnet_ni_status_t *ni_status; /* my health status */
/* equivalent interfaces to use */ /* equivalent interfaces to use */
char *ni_interfaces[LNET_MAX_INTERFACES]; char *ni_interfaces[LNET_MAX_INTERFACES];
......
...@@ -166,7 +166,7 @@ lnet_ni_alloc(__u32 net, struct cfs_expr_list *el, struct list_head *nilist) ...@@ -166,7 +166,7 @@ lnet_ni_alloc(__u32 net, struct cfs_expr_list *el, struct list_head *nilist)
/* LND will fill in the address part of the NID */ /* LND will fill in the address part of the NID */
ni->ni_nid = LNET_MKNID(net, 0); ni->ni_nid = LNET_MKNID(net, 0);
ni->ni_last_alive = get_seconds(); ni->ni_last_alive = ktime_get_real_seconds();
list_add_tail(&ni->ni_list, nilist); list_add_tail(&ni->ni_list, nilist);
return ni; return ni;
failed: failed:
......
...@@ -1768,11 +1768,11 @@ lnet_parse(lnet_ni_t *ni, lnet_hdr_t *hdr, lnet_nid_t from_nid, ...@@ -1768,11 +1768,11 @@ lnet_parse(lnet_ni_t *ni, lnet_hdr_t *hdr, lnet_nid_t from_nid,
} }
if (the_lnet.ln_routing && if (the_lnet.ln_routing &&
ni->ni_last_alive != get_seconds()) { ni->ni_last_alive != ktime_get_real_seconds()) {
lnet_ni_lock(ni); lnet_ni_lock(ni);
/* NB: so far here is the only place to set NI status to "up */ /* NB: so far here is the only place to set NI status to "up */
ni->ni_last_alive = get_seconds(); ni->ni_last_alive = ktime_get_real_seconds();
if (ni->ni_status != NULL && if (ni->ni_status != NULL &&
ni->ni_status->ns_status == LNET_NI_STATUS_DOWN) ni->ni_status->ns_status == LNET_NI_STATUS_DOWN)
ni->ni_status->ns_status = LNET_NI_STATUS_UP; ni->ni_status->ns_status = LNET_NI_STATUS_UP;
......
...@@ -789,7 +789,7 @@ static void ...@@ -789,7 +789,7 @@ static void
lnet_update_ni_status_locked(void) lnet_update_ni_status_locked(void)
{ {
lnet_ni_t *ni; lnet_ni_t *ni;
long now; time64_t now;
int timeout; int timeout;
LASSERT(the_lnet.ln_routing); LASSERT(the_lnet.ln_routing);
...@@ -797,7 +797,7 @@ lnet_update_ni_status_locked(void) ...@@ -797,7 +797,7 @@ lnet_update_ni_status_locked(void)
timeout = router_ping_timeout + timeout = router_ping_timeout +
max(live_router_check_interval, dead_router_check_interval); max(live_router_check_interval, dead_router_check_interval);
now = get_seconds(); now = ktime_get_real_seconds();
list_for_each_entry(ni, &the_lnet.ln_nis, ni_list) { list_for_each_entry(ni, &the_lnet.ln_nis, ni_list) {
if (ni->ni_lnd->lnd_type == LOLND) if (ni->ni_lnd->lnd_type == LOLND)
continue; continue;
......
...@@ -692,7 +692,7 @@ static int proc_lnet_nis(struct ctl_table *table, int write, ...@@ -692,7 +692,7 @@ static int proc_lnet_nis(struct ctl_table *table, int write,
if (ni != NULL) { if (ni != NULL) {
struct lnet_tx_queue *tq; struct lnet_tx_queue *tq;
char *stat; char *stat;
long now = get_seconds(); time64_t now = ktime_get_real_seconds();
int last_alive = -1; int last_alive = -1;
int i; int i;
int j; int j;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment