]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd: resend osd_pgtemp if it's not acked 21330/head
authorKefu Chai <kchai@redhat.com>
Mon, 9 Apr 2018 16:56:05 +0000 (00:56 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 10 Apr 2018 15:02:12 +0000 (23:02 +0800)
commit4ee507d47e34680f784a92496698145e94932a09
tree190574178420fcff919676aceea29684dd800458
parent9d2cda9a819752a487741d553dbc12c61f5fac1d
osd: resend osd_pgtemp if it's not acked

if the osd_pgtemp message is dropped before monitor receives it, we need
to resend it. otherwise a pg could be stuck in activating state if the
pg creation was withheld by the max-pg-per-osd on the replica, and then
the replica osd removes some existing pg.

Fixes: http://tracker.ceph.com/issues/23610
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 9c5cb4ea620da4ef14345ebc8018f9ed008c4345)

Conflicts:
src/osd/OSD.cc: structured binding is a feature introduced in
C++17. while we are using C++11 in luminous. so implement it with C++11
syntax.
src/osd/OSD.h: trivial resolution
src/osd/OSD.cc
src/osd/OSD.h
src/osd/PG.cc