From a76d5831929d57b1505101445317fce778f08ed3 Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Wed, 27 Apr 2011 10:52:09 -0700 Subject: [PATCH] mds: Replay new client sessions on slave-rename importing. We've been logging the sessions for ages but never actually opened them. Signed-off-by: Greg Farnum --- src/mds/journal.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/mds/journal.cc b/src/mds/journal.cc index 09dac9fd8facf..524d1a41d8e31 100644 --- a/src/mds/journal.cc +++ b/src/mds/journal.cc @@ -940,13 +940,23 @@ void EUpdate::update_segment() void EUpdate::replay(MDS *mds) { metablob.replay(mds, _segment); - + if (had_slaves) { dout(10) << "EUpdate.replay " << reqid << " had slaves, expecting a matching ECommitted" << dendl; _segment->uncommitted_masters.insert(reqid); set slaves; mds->mdcache->add_uncommitted_master(reqid, _segment, slaves); } + + // open client sessions? + map cm; + map seqm; + if (client_map.length()) { + bufferlist::iterator blp = client_map.begin(); + ::decode(cm, blp); + mds->server->prepare_force_open_sessions(cm, seqm); + mds->server->finish_force_open_sessions(cm, seqm); + } } -- 2.39.5