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: condition object_info_t encoding on required (not up) features #13114

Merged
merged 2 commits into from Feb 3, 2017

Conversation

Projects
None yet
5 participants
@liewegas
Member

liewegas commented Jan 26, 2017

liewegas added some commits Jan 25, 2017

osd/OSDMap: reflect REQUIRE_*_OSDS flag in required features
Callers should be mindful of the mask output; this isn't necessary
an exhaustive list of features that e.g. a kraken OSD would/should
have--just certain interesting ones.

Signed-off-by: Sage Weil <sage@redhat.com>
osd/PrimaryLogPG: encode object_info with required (not up) features
Using up features means we might have an old OSD down, we encode
a new oi with addr2 entity_addr_t, and then come up and be unable
to decode.

Fixes: http://tracker.ceph.com/issues/18644
Signed-off-by: Sage Weil <sage@redhat.com>

@tchaikov tchaikov self-assigned this Jan 26, 2017

@@ -3540,7 +3541,7 @@ PrimaryLogPG::OpContextUPtr PrimaryLogPG::trim_object(bool first, const hobject_
coi.prior_version = coi.version;
coi.version = ctx->at_version;
bl.clear();
::encode(coi, bl, get_osdmap()->get_up_osd_features());
::encode(coi, bl, get_osdmap()->get_features(CEPH_ENTITY_TYPE_OSD, nullptr));

This comment has been minimized.

@jdurgin

jdurgin Jan 27, 2017

Member

I think I'm missing something - get_features() never returns CEPH_FEATURE_MSG_ADDR2

This comment has been minimized.

@jdurgin

jdurgin Jan 27, 2017

Member

I was just looking at the 2nd commit. Nevermind.

@jdurgin jdurgin added the needs-qa label Jan 27, 2017

@yuriw yuriw merged commit 9431987 into ceph:master Feb 3, 2017

3 checks passed

Signed-off-by all commits in this PR are signed
Details
Unmodifed Submodules submodules for project are unmodified
Details
default Build finished.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment