]> git-server-git.apps.pok.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:38 +0000 (16:28 -0700)
commit1a2d9edde0311b51d3d68b87c20dea3061b2395b
tree0a0b7e9650c9af9c2b4e6b958858e96951ceec39
parentd783e33b672ec324eb48d588f956da0c51ff5dac
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