From: Niu Yawei Date: Thu, 13 Feb 2014 07:07:14 +0000 (-0500) Subject: LU-4597 clio: clear nowait flag agl lock re-enqueue X-Git-Tag: 2.5.56~19 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=refs%2Fchanges%2F49%2F9249%2F2;p=fs%2Flustre-release.git LU-4597 clio: clear nowait flag agl lock re-enqueue The LDLM_FL_BLOCK_NOWAIT flag should be cleared when re-enqueue the agl lock as normal glimpse, otherwise, it won't get size back if there is conflicting locks on other client. Signed-off-by: Niu Yawei Change-Id: Ifd311606e824d6574bfbf3256841061e8867214a Reviewed-on: http://review.whamcloud.com/9249 Tested-by: Jenkins Reviewed-by: Bobi Jam Reviewed-by: Jinshan Xiong Reviewed-by: Ned Bass Reviewed-by: Fan Yong Tested-by: Maloo Reviewed-by: Oleg Drokin --- diff --git a/lustre/osc/osc_lock.c b/lustre/osc/osc_lock.c index 12b1984..58e9d96 100644 --- a/lustre/osc/osc_lock.c +++ b/lustre/osc/osc_lock.c @@ -1284,6 +1284,7 @@ static int osc_lock_wait(const struct lu_env *env, LASSERT(olck->ols_agl); olck->ols_agl = 0; + olck->ols_flags &= ~LDLM_FL_BLOCK_NOWAIT; rc = osc_lock_enqueue(env, slice, NULL, CEF_ASYNC | CEF_MUST); if (rc != 0) return rc;