]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: release backoffs during merge 31657/head
authorSage Weil <sage@redhat.com>
Thu, 14 Nov 2019 14:49:32 +0000 (08:49 -0600)
committerSage Weil <sage@redhat.com>
Thu, 14 Nov 2019 14:50:54 +0000 (08:50 -0600)
commitf75d8327277012db70c2ca00991decacf29b1b6a
tree0c11506a5485cea419dba97ba34809c095daae50
parent1715c644c30fff4599257a0c39144fc2b6e4cb80
osd: release backoffs during merge

When we merge PGs, ensure that backoffs release messages are sent to
the client before the victim PG is destroyed.  This is /almost/ handled
by on_shutdown(), except that the shutdown code is aggressive about
tearing down backoff state in order to manage the PGRef lifecycle
carefully--and because in the shutdown (or normal PG/pool deletion) case
it doesn't matter what (if anything) we tell the client.

Fix this by simply queuing the backoff release prior to shutting down the
merge source PG.

An alternative appraoch would be to rejigger the PGRef release timing, but
that code is very fragile and this is a more targetted fix for this issue.
We might consider a more careful look in the future... or not!

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