]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
client: skip insert_trace on safe requests
authorSage Weil <sage@inktank.com>
Fri, 17 May 2013 18:44:10 +0000 (11:44 -0700)
committerYan, Zheng <zheng.z.yan@intel.com>
Thu, 8 May 2014 02:58:46 +0000 (10:58 +0800)
Only do this for the first reply.

Signed-off-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
src/client/Client.cc

index dca27b9917ea7a51258048927f53ae7a803afb78..b1e21a3dd6f06a51b3caaea4c9b491b33f29b683 100644 (file)
@@ -988,6 +988,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; ignoring" << dendl;
+    assert(p.end());
+    return NULL;
+  }
+
   if (p.end()) {
     ldout(cct, 10) << "insert_trace -- no trace" << dendl;