From: "Yan, Zheng" <[email protected]>

replaying a client request may need to create slave request and the slave
MDS can be also in the clientreplay stage.

Signed-off-by: Yan, Zheng <[email protected]>
---
 src/mds/Server.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/mds/Server.cc b/src/mds/Server.cc
index 083c287..520d389 100644
--- a/src/mds/Server.cc
+++ b/src/mds/Server.cc
@@ -101,6 +101,10 @@ void Server::dispatch(Message *m)
                (m->get_type() == CEPH_MSG_CLIENT_REQUEST &&
                 ((MClientRequest*)m)->is_replay()))) {
       // replaying!
+    } else if (mds->is_clientreplay() && m->get_type() == 
MSG_MDS_SLAVE_REQUEST &&
+              (((MMDSSlaveRequest*)m)->is_reply() ||
+               !mds->mdsmap->is_active(m->get_source().num()))) {
+      // slave reply or the master is also in the clientreplay stage
     } else {
       dout(3) << "not active yet, waiting" << dendl;
       mds->wait_for_active(new C_MDS_RetryMessage(mds, m));
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to