LU-18536 statahead: dec inuse count when waiting entry timeout
It should dec inuse entry count when waiting for entry state
timout:
->revalidate_statahead_dentry()
->!sa_ready(entry)
->wait_event_idle_timeout(sai->sai_waitq, sa_ready(entry),
cfs_time_seconds(30));
if (rc == 0) { /* Timeout */
/*
* entry may not be ready, so it may be used by
* inflight statahead RPC, don't free it.
*/
entry = NULL;
GOTO(out, rc = -EAGAIN);
}
Otherwise, it may casue the statahead thread waiting endless for
the inuse count becomes zero.
Fixes:
d22c78fde8d (LU-14361 statahead: wait inuse entry finished during cleanup)
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I5a6cba998362e5580924711d2ac059f7fe3de261
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57382
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>