From: Sage Weil Date: Tue, 3 Mar 2009 00:30:10 +0000 (-0800) Subject: mds: flush log on wrlock_start if lock isn't stable X-Git-Tag: v0.7~74 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e518e4a146644b3dcc4fbcae20685e80814bc334;p=ceph.git mds: flush log on wrlock_start if lock isn't stable --- diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index aa589a316d8c..2ada52470af6 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -698,7 +698,8 @@ bool Locker::wrlock_start(SimpleLock *lock, MDRequest *mut, bool nowait) lock->add_waiter(SimpleLock::WAIT_STABLE, new C_MDS_RetryRequest(mdcache, mut)); // make sure we aren't waiting on a cap flush - if (lock->get_parent()->is_auth() && lock->is_wrlocked()) + if (lock->get_parent()->is_auth() && (lock->is_wrlocked() || // as with cap flush + !lock->is_stable())) // as with xlockdone mds->mdlog->flush(); }