Skip to content

Commit

Permalink
mds: finish clientreplay requests before requesting active state
Browse files Browse the repository at this point in the history
All clientreplay requests' finish contexts should be executed
before MDCache::export_remaining_imported_caps(). Otherwise
MDCache::try_reconnect_cap() may fail to reconnect client caps.

Fixes: http://tracker.ceph.com/issues/18461
Signed-off-by: Yan, Zheng <zyan@redhat.com>
  • Loading branch information
ukernel committed Jan 10, 2017
1 parent 59c0108 commit 80dae31
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/mds/MDSRank.cc
Expand Up @@ -1254,7 +1254,7 @@ void MDSRank::clientreplay_start()
bool MDSRank::queue_one_replay()
{
if (replay_queue.empty()) {
clientreplay_done();
mdlog->wait_for_safe(new C_MDS_VoidFn(this, &MDSRank::clientreplay_done));
return false;
}
queue_waiter(replay_queue.front());
Expand Down

0 comments on commit 80dae31

Please sign in to comment.