]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd: clear_queued_recovery() in on_shutdown()
authorKefu Chai <kchai@redhat.com>
Tue, 4 Jul 2017 02:45:44 +0000 (10:45 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 4 Jul 2017 05:47:29 +0000 (13:47 +0800)
commit65900147491df3b20c5425e05f7468c8e12eb21b
tree240d9f3340931dbe481697b377cdf1f6c5081a2d
parentce19fa331c16b8063435d3c6ccd8ffeb0cef99a5
osd: clear_queued_recovery() in on_shutdown()

otherwise when we are kicking the PG waiting in OSD's awaiting_throttle
queue, the queue is still holding a strong reference of it. then we will
have warnings like "pgid 0.7 has ref count of 2" when shutting down OSD,
because pgmap is also holding a reference of it.

we could clear the "awaiting_throttle" directly in OSD::shutdown(), but
clear_queued_recovery() is more consistent this way, because it is PG
which registered itself to the queue in OSD, it'd be better if PG can
remove itself from the OSD when it is shutting down itself.

Fixes: http://tracker.ceph.com/issues/20432
Signed-off-by: Kefu Chai <kchai@redhat.com>
src/osd/PrimaryLogPG.cc