From: Sage Weil Date: Sat, 8 Jun 2013 05:04:09 +0000 (-0700) Subject: mds: fix filelock eval_gather X-Git-Tag: v0.61.9~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=346b43d80f728e6b389208ccd8054d96b76b093c;p=ceph.git mds: fix filelock eval_gather Broken by a08d62045657713bf0a5372bf14136082ec3b17e Reported-by: Yan, Zheng Signed-off-by: Sage Weil (cherry picked from commit e8300d0afb5154d4d13536abdcf47bd5cc8ce810) Reviewed-by: Greg Farnum --- diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index fd46be093206..28d09f339783 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -646,12 +646,13 @@ void Locker::eval_gather(SimpleLock *lock, bool first, bool *pneed_issue, liststate_test(CInode::STATE_RECOVERING)) { dout(7) << "eval_gather finished gather, but still recovering" << dendl; + return; } else if (in->state_test(CInode::STATE_NEEDSRECOVER)) { dout(7) << "eval_gather finished gather, but need to recover" << dendl; mds->mdcache->queue_file_recover(in); mds->mdcache->do_file_recover(); + return; } - return; } if (!lock->get_parent()->is_auth()) {