From ede37634c8fe749460fc724c0cda433c86a598db Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Mon, 4 Oct 2010 17:00:54 -0700 Subject: [PATCH] mds: fix LocalLock xlocking by replacing default --- src/mds/LocalLock.h | 4 ++++ src/mds/Locker.cc | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mds/LocalLock.h b/src/mds/LocalLock.h index 432fc81009549..a4c9d61119f23 100644 --- a/src/mds/LocalLock.h +++ b/src/mds/LocalLock.h @@ -31,6 +31,10 @@ public: return true; } + bool can_xlock_local() { + return !is_wrlocked(); + } + bool can_wrlock() { return !is_xlocked(); } diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index 5a5abe8bf3178..08c307da547b5 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -3556,7 +3556,7 @@ bool Locker::local_xlock_start(LocalLock *lock, MDRequest *mut) dout(7) << "local_xlock_start on " << *lock << " on " << *lock->get_parent() << dendl; - if (!lock->can_xlock(-1)) { + if (!lock->can_xlock_local()) { lock->add_waiter(SimpleLock::WAIT_WR|SimpleLock::WAIT_STABLE, new C_MDS_RetryRequest(mdcache, mut)); return false; } -- 2.39.5