]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
objecter: resend unfinished lingers when osdmap is no longer paused
authorJosh Durgin <josh.durgin@inktank.com>
Wed, 21 Aug 2013 21:28:49 +0000 (14:28 -0700)
committerJosh Durgin <josh.durgin@inktank.com>
Wed, 21 Aug 2013 23:28:05 +0000 (16:28 -0700)
commit2c122be08db2f233d66214eb804734ae45646084
tree27f9e2d69d14e65e21e4f104552c7e360e752f42
parentf6fe74ff51f679e7245b02462822d9ef1e15d28c
objecter: resend unfinished lingers when osdmap is no longer paused

Plain Ops that haven't finished yet need to be resent if the osdmap
transitions from full or paused to unpaused.  If these Ops are
triggered by LingerOps, they will be cancelled instead (since
should_resend = false), but the LingerOps that triggered them will not
be resent.

Fix this by checking the registered flag for all linger ops, and
resending any of them that aren't paused anymore.

Fixes: #6070
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sage Weil <sage.weil@inktank.com>
(cherry picked from commit 38a0ca66a79af4b541e6322467ae3a8a4483cc72)
src/osdc/Objecter.cc