From: Sage Weil Date: Fri, 12 Dec 2014 21:53:47 +0000 (-0800) Subject: osdc/Objecter: only ping after watch is registered X-Git-Tag: v0.91~60 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=90246c17530ed01c68f820b4796e1a73cb18e9d9;p=ceph.git osdc/Objecter: only ping after watch is registered If we ping before the watch is registered we will get ETIMEDOUT (the ping is are a read op that will fail to see the watch registration). Signed-off-by: Sage Weil --- diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index f53783fe613..cf487abfecc 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -1848,7 +1848,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->is_watch && !op->last_error) + if (op->is_watch && op->registered && !op->last_error) _send_linger_ping(op); } for (map::iterator p = s->command_ops.begin();