From 4dda138b076686c856ee0eaf93cf6139061b4526 Mon Sep 17 00:00:00 2001 From: Sam Lang Date: Mon, 25 Mar 2013 11:39:19 -0500 Subject: [PATCH] client: Remove got_safe from MetaRequest Once a safe reply is received, we remove the request from the mds_requests map, so checking that it might be a duplicate won't succeed. This patch removes the got_safe checks in the reply handling code and the got_safe field on the MetaRequest to avoid confusion. Signed-off-by: Sam Lang --- src/client/Client.cc | 4 +--- src/client/MetaRequest.cc | 1 - src/client/MetaRequest.h | 3 +-- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index d1f8564aa8f6e..f9e75f63c9b44 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -1700,8 +1700,7 @@ void Client::handle_client_reply(MClientReply *reply) MetaRequest *request = mds_requests[tid]; assert(request); - if ((request->got_unsafe && !is_safe) - || (request->got_safe && is_safe)) { + if (request->got_unsafe && !is_safe) { //duplicate response ldout(cct, 0) << "got a duplicate reply on tid " << tid << " from mds " << mds_num << " safe:" << is_safe << dendl; @@ -1752,7 +1751,6 @@ void Client::handle_client_reply(MClientReply *reply) if (is_safe) { // the filesystem change is committed to disk - request->got_safe = true; if (request->got_unsafe) { // we're done, clean up request->item.remove_myself(); diff --git a/src/client/MetaRequest.cc b/src/client/MetaRequest.cc index 199708c5de9c6..b6935f970fbbb 100644 --- a/src/client/MetaRequest.cc +++ b/src/client/MetaRequest.cc @@ -35,7 +35,6 @@ void MetaRequest::dump(Formatter *f) const f->dump_unsigned("sent_on_mseq", sent_on_mseq); f->dump_int("retry_attempt", retry_attempt); - f->dump_int("got_safe", got_safe); f->dump_int("got_unsafe", got_unsafe); if (head.op == CEPH_MDS_OP_READDIR || diff --git a/src/client/MetaRequest.h b/src/client/MetaRequest.h index c167ec98f5b1c..465e88562fd9b 100644 --- a/src/client/MetaRequest.h +++ b/src/client/MetaRequest.h @@ -63,7 +63,6 @@ public: string readdir_last_name; //possible responses - bool got_safe; bool got_unsafe; xlist::item item; @@ -90,7 +89,7 @@ public: ref(1), reply(0), kick(false), readdir_offset(0), readdir_end(false), readdir_num(0), - got_safe(false), got_unsafe(false), item(this), unsafe_item(this), + got_unsafe(false), item(this), unsafe_item(this), lock("MetaRequest lock"), caller_cond(0), dispatch_cond(0), target(0) { -- 2.39.5