Whamcloud - gitweb
LU-11102 ldlm: don't skip bl_ast for local lock 58/33458/10
authorMikhail Pershin <mpershin@whamcloud.com>
Tue, 18 Sep 2018 11:00:33 +0000 (14:00 +0300)
committerOleg Drokin <green@whamcloud.com>
Sat, 17 Nov 2018 01:29:26 +0000 (01:29 +0000)
commit75a417fa0065d52a31215daaaaf41c0fa9751a89
treee6d4b65b4adae79d93ab65311cf18ba9504b7cb3
parent73ecd83a24e220b8097facf5bf3f5d93f523702c
LU-11102 ldlm: don't skip bl_ast for local lock

The previous commit 954cc675 skips bl_ast for local lock but
there are cases on MDT when local lock can become a client lock,
see mdt_intent_lock_replace(). In that case the client should be
notified if lock is a blocking lock.

Patch reverts commit 954cc675 and provides alternative solution.
During downgrade to COS the lock renews own blocking AST states
and start reprocessing. Any new lock conflict will cause new
blocking AST and related async commit as needed.

Test-Parameters: mdssizegb=20 testlist=racer,racer,racer
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I41adab5c805a59fdbeade8ae3556556b779dc3c0
Reviewed-on: https://review.whamcloud.com/33458
Reviewed-by: Vitaly Fertman <c17818@cray.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/lustre_dlm.h
lustre/ldlm/ldlm_inodebits.c
lustre/ldlm/ldlm_internal.h
lustre/ldlm/ldlm_lock.c
lustre/ldlm/ldlm_lockd.c
lustre/mdt/mdt_handler.c