Datatype change from int to uint64_t for now variable.
The variable now is the current time of the system. This is compared to uint64_t variable lock->last_renewal_success
if (now > lock->last_renewal_success + IDM_QUIESCENT_PERIOD) { ilm_failure_handler(ls);ls->failed = 1;ilm_log_dbg("%s: has sent kill path or signal", __func__);continue;}
In systems that have been running for long periods of time, the entire time value for now would be trimmed, while last_renewal_success was not. This caused the statement above to never trigger, causing kill signal testing to run in an infinite loop.
Datatype change from int to uint64_t for
now
variable. The variablenow
is the current time of the system. This is compared to uint64_t variablelock->last_renewal_success
if (now > lock->last_renewal_success + IDM_QUIESCENT_PERIOD) {
ilm_failure_handler(ls);
ls->failed = 1;
ilm_log_dbg("%s: has sent kill path or signal", __func__);
continue;
}
In systems that have been running for long periods of time, the entire time value for
now
would be trimmed, whilelast_renewal_success
was not. This caused the statement above to never trigger, causing kill signal testing to run in an infinite loop.Signed-off-by: Brandon O'Hare brandon.ohare@seagate.com