From: Jinshan Xiong Date: Thu, 6 Mar 2014 06:45:47 +0000 (-0800) Subject: LU-4591 lov: cancel ungranted sub lock X-Git-Tag: 2.5.57~11 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=87b61133b627032c12ab4759ea1f96cbc4e6719e;ds=sidebyside LU-4591 lov: cancel ungranted sub lock When the top lock is canceled due to error, we should cancel ungranted sub lock otherwise the sublock state is undefined. Signed-off-by: Jinshan Xiong Change-Id: I5c1df5220ce77ff434463d6443135c625e79ea04 Reviewed-on: http://review.whamcloud.com/9524 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: John L. Hammond Reviewed-by: Andreas Dilger Reviewed-by: Oleg Drokin --- diff --git a/lustre/lov/lov_lock.c b/lustre/lov/lov_lock.c index 00d372d..916a415 100644 --- a/lustre/lov/lov_lock.c +++ b/lustre/lov/lov_lock.c @@ -689,6 +689,7 @@ static int lov_lock_unuse(const struct lu_env *env, lov_sublock_release(env, lck, i, 0, 0); break; default: + cl_lock_cancel(subenv->lse_env, sublock); lov_sublock_release(env, lck, i, 1, 0); break; } @@ -745,6 +746,7 @@ static void lov_lock_cancel(const struct lu_env *env, lov_sublock_release(env, lck, i, 0, 0); break; default: + cl_lock_cancel(subenv->lse_env, sublock); lov_sublock_release(env, lck, i, 1, 0); break; }