diff options
author | Sage Weil <sage@inktank.com> | 2013-06-07 22:04:09 -0700 |
---|---|---|
committer | Greg Farnum <greg@inktank.com> | 2013-10-09 13:47:07 -0700 |
commit | 346b43d80f728e6b389208ccd8054d96b76b093c (patch) | |
tree | 09a1e2bac668906ae7867abacec89cb80369b78b | |
parent | ffdc7fce132b3b98463b4222d2c51ccef6b94d82 (diff) | |
download | ceph-346b43d80f728e6b389208ccd8054d96b76b093c.tar.gz |
mds: fix filelock eval_gather
Broken by a08d62045657713bf0a5372bf14136082ec3b17e
Reported-by: Yan, Zheng <yan.zheng@intel.com>
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit e8300d0afb5154d4d13536abdcf47bd5cc8ce810)
Reviewed-by: Greg Farnum <greg@inktank.com>
-rw-r--r-- | src/mds/Locker.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index fd46be09320..28d09f33978 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, list<C assert(in); if (in->state_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()) { |