]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: handle "state == LOCK_LOCK_XLOCK" when cancelling xlock
authorYan, Zheng <zheng.z.yan@intel.com>
Wed, 17 Jul 2013 05:52:18 +0000 (13:52 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Mon, 5 Aug 2013 03:09:07 +0000 (11:09 +0800)
commitf86828d149f0ae89f49faa83f2a04ee711a22b23
tree5b5b1c711248d2698d706767896202c7898c51ea
parent63a21b41340a236a258e9ae82a823c24c30cf0dd
mds: handle "state == LOCK_LOCK_XLOCK" when cancelling xlock

If we find lock state is LOCK_LOCK_XLOCK when cancelling xlock,
set lock state to LOCK_XLOCK_DONE and call Locker::eval_gather().
This makes sure the lock will eventually transit to a stable state.
(LOCK_XLOCK_DONE's next state is stable)

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
src/mds/Locker.cc