From ecfc109714f69ccd97f26b5d30e8d1a42d9b98ad Mon Sep 17 00:00:00 2001 From: Shuichi Ihara Date: Sat, 29 Mar 2014 14:29:20 +0900 Subject: [PATCH] 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. backport from http://review.whamcloud.com/9524 Signed-off-by: Shuichi Ihara Signed-off-by: Jinshan Xiong Change-Id: Ifa68743cd5bf3a9d69258014d066124fd7fc87c9 Reviewed-on: http://review.whamcloud.com/9851 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: James Simmons Reviewed-by: Oleg Drokin --- lustre/lov/lov_lock.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lustre/lov/lov_lock.c b/lustre/lov/lov_lock.c index 0cfd297..1e5a516 100644 --- a/lustre/lov/lov_lock.c +++ b/lustre/lov/lov_lock.c @@ -723,6 +723,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; } @@ -779,6 +780,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; } -- 1.8.3.1