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

luminous: crush: fix CrushCompiler won't compile maps with empty shadow tree #17228

Merged
merged 2 commits into from Aug 25, 2017

Conversation

Projects
None yet
4 participants
@tchaikov
Contributor

tchaikov commented Aug 24, 2017

backport #17058

xiexingguo added some commits Aug 17, 2017

crush: fix CrushCompiler won't compile maps with empty shadow tree
Steps to reproduce:
(1) ceph osd crush rm-device-class osd.0
(2) ceph osd crush set-device-class foo osd.0
(3) ceph osd crush rule create-replicated foo_rule default host foo
(4) ceph osd crush rm-device-class osd.0
(5) ceph osd getcrushmap -o crushmap
(6) crushtool -d crushmap -o crushmap.txt
(7) crushtool -c crushmap.txt -o crushmap
    unknown device class 'foo'

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit 3e4fe5b)
crush: rebuild shadow trees on removing crush rule
In case this is the last crush rule which is still referencing
a specific device class. Otherwise the device class might stay
hanging.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit 968b72d)

@tchaikov tchaikov added this to the luminous milestone Aug 24, 2017

@ceph-jenkins

This comment has been minimized.

Collaborator

ceph-jenkins commented Aug 24, 2017

make check succeeded

@tchaikov

This comment has been minimized.

@liewegas liewegas merged commit 2b5744a into ceph:luminous Aug 25, 2017

4 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

@tchaikov tchaikov deleted the tchaikov:wip-luminous-pr-17058 branch Aug 25, 2017

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