]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: fix dup failure cancellations
authorSage Weil <sage@inktank.com>
Sun, 23 Dec 2012 23:17:12 +0000 (15:17 -0800)
committerSage Weil <sage@inktank.com>
Sun, 23 Dec 2012 23:21:18 +0000 (15:21 -0800)
If we had a pending failure report, and send a cancellation, take it
out of our pending list so that we don't keep resending cancellations.

Signed-off-by: Sage Weil <sage@inktank.com>
src/osd/OSD.cc

index cbc40df488b20e8b681dcee804578fc41ebe1ae4..c6a98855e209e914fa233db51386be193736198e 100644 (file)
@@ -2054,8 +2054,10 @@ void OSD::handle_osd_ping(MOSDPing *m)
       // Cancel false reports
       if (failure_queue.count(from))
        failure_queue.erase(from);
-      if (failure_pending.count(from))
+      if (failure_pending.count(from)) {
        send_still_alive(curmap->get_epoch(), failure_pending[from]);
+       failure_pending.erase(from);
+      }
     }
     break;