Whamcloud - gitweb
LU-8175 ldlm: conflicting PW & PR extent locks on a client 45/20345/5
authorAndriy Skulysh <andriy.skulysh@seagate.com>
Thu, 14 Jul 2016 10:43:31 +0000 (13:43 +0300)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 2 Sep 2016 02:24:43 +0000 (02:24 +0000)
commit80a818b80373bebd1438a74aeebda102b4885e53
treef8afd48b7f8df72b3cbaea991e492a74b2ed1b04
parent108339f1543fb006f4ddd16830e7266df0b46723
LU-8175 ldlm: conflicting PW & PR extent locks on a client

PW lock isn't replayed once a lock is marked
LDLM_FL_CANCELING and glimpse lock doesn't wait for
conflicting locks on the client. So the server will
grant a PR lock in response to the glimpse lock request,
which conflicts with the PW lock in LDLM_FL_CANCELING
state on the client.

Lock in LDLM_FL_CANCELING state may still have pending IO,
so it should be replayed until LDLM_FL_BL_DONE is set to
avoid granted conflicting lock by a server.

Change-Id: I99a1d81a8932ac7b7b3346558446f9d638156309
Seagate-bug-id: MRP-3311
Signed-off-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Reviewed-on: http://review.whamcloud.com/20345
Tested-by: Jenkins
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/include/obd_support.h
lustre/ldlm/ldlm_extent.c
lustre/ldlm/ldlm_request.c
lustre/osc/osc_request.c
lustre/tests/recovery-small.sh
lustre/tests/replay-ost-single.sh