1
0
Fork 0

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>
hifive-unleashed-5.1
Arnd Bergmann 2015-09-27 16:45:22 -04:00 committed by Greg Kroah-Hartman
parent 74ad578f19
commit ec0067d1be
5 changed files with 7 additions and 7 deletions

View File

@ -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];

View File

@ -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:

View File

@ -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;

View File

@ -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;

View File

@ -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;