From: Oleg Drokin Date: Thu, 29 Aug 2013 09:10:06 +0000 (+0800) Subject: LU-3027 clio: Do not shrink sublock at cancel X-Git-Tag: 2.4.1-RC1~3 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=3781d4465c9fa72120f35084d4eb5edb55a0b66a;p=fs%2Flustre-release.git LU-3027 clio: Do not shrink sublock at cancel Shrinking sublock at ldlm lock cancel time means whoever happened to attach to this lock just before will reenqueue the wrong lock. Test-Parameters: envdefinitions=SLOW=yes,ONLY=write_disjoint \ clientdistro=el6 serverdistro=el6 clientarch=x86_64 \ serverarch=x86_64 testlist=parallel-scale Change-Id: I8f2de683812621fb2f8d761cf2aceebc12868d75 Signed-off-by: Oleg Drokin Signed-off-by: Jian Yu Reviewed-on: http://review.whamcloud.com/7481 Tested-by: Hudson Tested-by: Maloo Reviewed-by: Jinshan Xiong Reviewed-by: Bobi Jam --- diff --git a/lustre/lov/lovsub_lock.c b/lustre/lov/lovsub_lock.c index a76acf2..393688a 100644 --- a/lustre/lov/lovsub_lock.c +++ b/lustre/lov/lovsub_lock.c @@ -415,15 +415,12 @@ static void lovsub_lock_delete(const struct lu_env *env, struct lov_lock *lov; struct lov_lock_link *scan; struct lov_lock_link *temp; - struct lov_lock_sub *subdata; restart = 0; cfs_list_for_each_entry_safe(scan, temp, &sub->lss_parents, lll_list) { lov = scan->lll_super; - subdata = &lov->lls_sub[scan->lll_idx]; lovsub_parent_lock(env, lov); - subdata->sub_got = subdata->sub_descr; lov_lock_unlink(env, scan, sub); restart = lovsub_lock_delete_one(env, child, lov); lovsub_parent_unlock(env, lov);