summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-05-17 11:44:10 -0700
committerSage Weil <sage@inktank.com>2013-06-24 21:21:47 -0700
commit46c5681be5ca32fbdf1afb193022095b5ce77873 (patch)
tree62a0b393606120a7332d66e40129410df7ce38b9
parentdb564d30cdef6a5a1e43b5bd5b8c663c78c8c1fb (diff)
downloadceph-46c5681be5ca32fbdf1afb193022095b5ce77873.tar.gz
client: skip insert_trace on safe requests
Only do this for the first reply. Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/client/Client.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/client/Client.cc b/src/client/Client.cc
index 0340f240b3b..5d50caa3c8d 100644
--- a/src/client/Client.cc
+++ b/src/client/Client.cc
@@ -909,6 +909,12 @@ Inode* Client::insert_trace(MetaRequest *request, MetaSession *session)
<< dendl;
bufferlist::iterator p = reply->get_trace_bl().begin();
+ if (request->got_unsafe) {
+ ldout(cct, 10) << "insert_trace -- already got unsafe; igorning" << dendl;
+ assert(p.end());
+ return NULL;
+ }
+
if (p.end()) {
ldout(cct, 10) << "insert_trace -- no trace" << dendl;