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: pass pool options to ObjectStore on pg create #19486

Merged
merged 1 commit into from Dec 16, 2017

Conversation

Projects
None yet
3 participants
@liewegas
Copy link
Member

commented Dec 13, 2017

osd/PG: pass pool options to ObjectStore on pg create
We were handling the load case and the pool change case, but not newly
created PG.

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

@liewegas liewegas requested review from tchaikov and ifed01 Dec 13, 2017

boost::statechart::result PG::RecoveryState::Initial::react(const Initialize& l)
{
PG *pg = context< RecoveryMachine >().pg;
pg->update_store_with_options();

This comment has been minimized.

Copy link
@ifed01

ifed01 Dec 14, 2017

Contributor

Don't know much about this stuff but just in case - shouldn't we set pg->send_notify = (!pg->is_primary()); similarly to Load reaction?

This comment has been minimized.

Copy link
@liewegas

liewegas Dec 14, 2017

Author Member

I think it doesn't matter because generally the pg is created (Initialize'd) due to (1) a notify from a replica (because we are teh primary) or (2) a create from teh mon (because we are the primary).

This comment has been minimized.

Copy link
@liewegas

liewegas Dec 14, 2017

Author Member

(either way we're not touching that behavior here.. just adding the update_store_with_options() call

This comment has been minimized.

Copy link
@tchaikov

tchaikov Jan 22, 2018

Contributor

i just found that this does not work. because the pg in underlying storage is not created at that moment, so the set_collection_opts() call in PG::update_store_with_options() always returns -ENOENT. that's why we have

2018-01-17 16:48:03.097 7f37b2708700 -1 osd.2 pg_epoch: 576 pg[35.5( empty local-lis/les=0/0 n=0 ec=575/575 lis/c 0/0 les/c/f 0/0/0 575/575/575) [1,2] r=1 lpr=0 crt=0'0 unknown] update_store_with_optionsset_collection_opts returns error:-2

in bluestore enabled tests.

This comment has been minimized.

Copy link
@tchaikov
@ifed01

ifed01 approved these changes Dec 15, 2017

@tchaikov tchaikov merged commit 5ad7efd into ceph:master Dec 16, 2017

5 checks passed

Docs: build check OK - docs built
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
make check (arm64) make check succeeded
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.