From: Sage Weil Date: Tue, 13 Jan 2009 02:45:33 +0000 (-0800) Subject: mds: verify is_stable() before calling simple_eval() X-Git-Tag: v0.6~1^2~75 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=79dea4b0121169a4f56b6592078b134f0b47e127;p=ceph.git mds: verify is_stable() before calling simple_eval() The finish_waiters may change the state again. --- diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index c4d282c62a2f..9dc987631a40 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -1742,7 +1742,8 @@ void Locker::simple_eval_gather(SimpleLock *lock) lock->get_parent()->auth_unpin(lock); // re-eval? - simple_eval(lock); + if (lock->is_stable()) + simple_eval(lock); } } @@ -1759,7 +1760,8 @@ void Locker::simple_eval_gather(SimpleLock *lock) lock->get_parent()->auth_unpin(lock); // re-eval? - simple_eval(lock); + if (lock->is_stable()) + simple_eval(lock); } }