]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc/Objecter: stop sending pings once we get an error
authorSage Weil <sage@redhat.com>
Sat, 8 Nov 2014 03:47:53 +0000 (19:47 -0800)
committerSage Weil <sage@redhat.com>
Thu, 4 Dec 2014 18:32:39 +0000 (10:32 -0800)
If we get ENOTCONN or ETIMEDOUT we can stop pinging.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osdc/Objecter.cc

index 09970b0764d8e0a4ed1e80b72385879d0ef2e782..d9a80387b49013ffaf947b64b6f63652778d6b1b 100644 (file)
@@ -1673,7 +1673,7 @@ void Objecter::tick()
         assert(op->session);
         ldout(cct, 10) << " pinging osd that serves lingering tid " << p->first << " (osd." << op->session->osd << ")" << dendl;
         toping.insert(op->session);
-       if (op->cookie)
+       if (op->cookie && !op->last_error)
          _send_linger_ping(op);
       }
       for (map<uint64_t,CommandOp*>::iterator p = s->command_ops.begin();