From: Sage Weil Date: Tue, 28 May 2013 17:51:11 +0000 (-0700) Subject: mds: stay in SCAN state in file_eval X-Git-Tag: v0.65~195 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0071b8e75bd3f5a09cc46e2225a018f6d1ef0680;p=ceph.git mds: stay in SCAN state in file_eval If we are in the SCAN state, stay there until the recovery finishes. Do not jump to another state from file_eval(). Signed-off-by: Sage Weil --- diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index aa90bb07b307..57154b3d9f6d 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -4150,6 +4150,10 @@ void Locker::file_eval(ScatterLock *lock, bool *need_issue) if (lock->get_parent()->is_freezing_or_frozen()) return; + // wait for scan + if (lock->get_state() == LOCK_SCAN) + return; + // excl -> *? if (lock->get_state() == LOCK_EXCL) { dout(20) << " is excl" << dendl;