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 */
|
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)
|
|||||||
|
|
||||||
/* 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,
|
|||||||
}
|
}
|
||||||
|
|
||||||
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
|
|||||||
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)
|
|||||||
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,
|
|||||||
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;
|
||||||
|
Loading…
Reference in New Issue
Block a user