so that final timeout don't exceed requested one
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Iff5e08c589cbbc3c483915002f3f9df7a6f2678a
Reviewed-on: https://review.whamcloud.com/45308
Reviewed-by: Andriy Skulysh <andriy.skulysh@hpe.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
DEFINE_WAIT_FUNC(wait, woken_wake_function);
time64_t timeout;
- timeout = ptlrpc_set_next_timeout(set);
+ timeout = cfs_time_seconds(ptlrpc_set_next_timeout(set));
lu_context_enter(&env.le_ctx);
lu_context_enter(env.le_ses);
if (timeout == 0)
ret = wait_woken(&wait, TASK_IDLE,
MAX_SCHEDULE_TIMEOUT);
- else
- ret = wait_woken(&wait, TASK_IDLE,
- cfs_time_seconds(timeout));
+ else {
+ ret = wait_woken(&wait, TASK_IDLE, timeout);
+ if (ret > 0)
+ timeout = ret;
+ }
if (ret != 0)
continue;
/* Timed out */