Skip to content
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: call on_new_interval on newly split child PG #6778

Merged
merged 1 commit into from Dec 4, 2015

Conversation

liewegas
Copy link
Member

@liewegas liewegas commented Dec 2, 2015

We must call on_new_interval() on any interval change and on the
creation of the PG. Currently we call it from PG::init() and
PG::start_peering_interval(). However, PG::split_into() did not
do so for the child PG, which meant that the new child feature
bits were not properly initialized and the bitwise/nibblewise
debug bit was not correctly set. That, in turn, could lead to
various misbehaviors, the most obvious of which is scrub errors
due to the sort order mismatch.

Fixes: #13962
Signed-off-by: Sage Weil sage@redhat.com

We must call on_new_interval() on any interval change *and* on the
creation of the PG.  Currently we call it from PG::init() and
PG::start_peering_interval().  However, PG::split_into() did not
do so for the child PG, which meant that the new child feature
bits were not properly initialized and the bitwise/nibblewise
debug bit was not correctly set.  That, in turn, could lead to
various misbehaviors, the most obvious of which is scrub errors
due to the sort order mismatch.

Fixes: ceph#13962
Signed-off-by: Sage Weil <sage@redhat.com>
@liewegas
Copy link
Member Author

liewegas commented Dec 3, 2015

passed an initial round of tests

@athanatos
Copy link
Contributor

LGTM

liewegas added a commit that referenced this pull request Dec 4, 2015
osd: call on_new_interval on newly split child PG

Reviewed-by: Samuel Just <sjust@redhat.com>
@liewegas liewegas merged commit 9f18962 into ceph:jewel Dec 4, 2015
@liewegas liewegas deleted the wip-13962 branch December 4, 2015 00:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants