forked from Minki/linux
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: 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
74ad578f19
commit
ec0067d1be
@ -264,7 +264,7 @@ typedef struct lnet_ni {
|
||||
lnd_t *ni_lnd; /* procedural interface */
|
||||
struct lnet_tx_queue **ni_tx_queues; /* percpt TX queues */
|
||||
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 */
|
||||
/* equivalent interfaces to use */
|
||||
char *ni_interfaces[LNET_MAX_INTERFACES];
|
||||
|
@ -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 */
|
||||
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);
|
||||
return ni;
|
||||
failed:
|
||||
|
@ -1768,11 +1768,11 @@ lnet_parse(lnet_ni_t *ni, lnet_hdr_t *hdr, lnet_nid_t from_nid,
|
||||
}
|
||||
|
||||
if (the_lnet.ln_routing &&
|
||||
ni->ni_last_alive != get_seconds()) {
|
||||
ni->ni_last_alive != ktime_get_real_seconds()) {
|
||||
lnet_ni_lock(ni);
|
||||
|
||||
/* 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 &&
|
||||
ni->ni_status->ns_status == LNET_NI_STATUS_DOWN)
|
||||
ni->ni_status->ns_status = LNET_NI_STATUS_UP;
|
||||
|
@ -789,7 +789,7 @@ static void
|
||||
lnet_update_ni_status_locked(void)
|
||||
{
|
||||
lnet_ni_t *ni;
|
||||
long now;
|
||||
time64_t now;
|
||||
int timeout;
|
||||
|
||||
LASSERT(the_lnet.ln_routing);
|
||||
@ -797,7 +797,7 @@ lnet_update_ni_status_locked(void)
|
||||
timeout = router_ping_timeout +
|
||||
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) {
|
||||
if (ni->ni_lnd->lnd_type == LOLND)
|
||||
continue;
|
||||
|
@ -692,7 +692,7 @@ static int proc_lnet_nis(struct ctl_table *table, int write,
|
||||
if (ni != NULL) {
|
||||
struct lnet_tx_queue *tq;
|
||||
char *stat;
|
||||
long now = get_seconds();
|
||||
time64_t now = ktime_get_real_seconds();
|
||||
int last_alive = -1;
|
||||
int i;
|
||||
int j;
|
||||
|
Loading…
Reference in New Issue
Block a user