New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

osd: clear_queued_recovery() in on_shutdown() #16093

Merged
merged 1 commit into from Jul 4, 2017

Conversation

Projects
None yet
2 participants
@tchaikov
Contributor

tchaikov commented Jul 4, 2017

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

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>

@tchaikov tchaikov requested review from liewegas and jdurgin Jul 4, 2017

@jdurgin

jdurgin approved these changes Jul 4, 2017

nice diagnosis

@jdurgin jdurgin merged commit a7960ad into ceph:master Jul 4, 2017

3 of 4 checks passed

make check (arm64) running make check
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
make check make check succeeded
Details

@tchaikov tchaikov deleted the tchaikov:wip-20432 branch Jul 4, 2017

@tchaikov

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment