Have ldlm_cli_pool_shrink() call ldlm_cancel_lru() with the LDLM_ASYNC
option to have the blocking callback handled in another thread. This
will avoid randomly blocking for excessively long times when the shrinker
is called.
Change-Id: Ide705df2640a2a96be554ffc452930a2e180fc20
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/277
Tested-by: Hudson
Reviewed-by: Oleg Drokin <green@whamcloud.com>
cfs_spin_unlock(&ns->ns_lock);
if (nr) {
- canceled = ldlm_cancel_lru(ns, nr, LDLM_SYNC,
+ canceled = ldlm_cancel_lru(ns, nr, LDLM_ASYNC,
LDLM_CANCEL_SHRINK);
}
#ifdef __KERNEL__