From 965b0d43ba62e4d43d2d7b6422d64b056a1e4c92 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 8 May 2008 09:37:42 -0700 Subject: [PATCH] mds: normalize _xlock_finish --- src/mds/Locker.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index cf2aed816326..09f8cdbdca07 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -1658,7 +1658,9 @@ void Locker::simple_xlock_finish(SimpleLock *lock, MDRequest *mdr) } // others waiting? - lock->finish_waiters(SimpleLock::WAIT_WR, 0); + lock->finish_waiters(SimpleLock::WAIT_STABLE | + SimpleLock::WAIT_WR | + SimpleLock::WAIT_RD, 0); // eval? if (lock->get_parent()->is_auth()) @@ -2497,7 +2499,9 @@ void Locker::local_xlock_finish(LocalLock *lock, MDRequest *mdr) mdr->xlocks.erase(lock); mdr->locks.erase(lock); - lock->finish_waiters(SimpleLock::WAIT_STABLE|SimpleLock::WAIT_WR); + lock->finish_waiters(SimpleLock::WAIT_STABLE | + SimpleLock::WAIT_WR | + SimpleLock::WAIT_RD); } @@ -2673,7 +2677,9 @@ void Locker::file_xlock_finish(FileLock *lock, MDRequest *mdr) assert(lock->get_parent()->is_auth()); // or implement remote xlocks // others waiting? - lock->finish_waiters(SimpleLock::WAIT_WR|SimpleLock::WAIT_RD, 0); + lock->finish_waiters(SimpeLock::WAIT_STABLE | + SimpleLock::WAIT_WR | + SimpleLock::WAIT_RD, 0); if (lock->get_parent()->is_auth()) file_eval(lock); -- 2.47.3