Bug #9044
erasure-code: use ruleset instead of ruleid
90%
Description
When ruleset is looked up by name when creating an erasure coded pool, the ruleid is used instead of the ruleset. This works as long as the two are the same, which is true most of the time, but it will lead to unexpected results when it is not.
Reported and discussed in the "context of a pull request":
https://github.com/ceph/ceph/pull/2221
Associated revisions
erasure-code: OSDMonitor::crush_ruleset_create_erasure needs ruleset
When OSDMonitor::crush_ruleset_create_erasure checks the ruleset for
existence, it must convert the ruleid into a ruleset before assigning it
back to the *ruleset parameter.
http://tracker.ceph.com/issues/9044 Fixes: #9044
Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: ErasureCodeJerasure::create_ruleset must return a ruleset
CrushWrapper::add_simple_ruleset does not return a ruleset, it returns
a ruleid that must be converted into a ruleset before being returned.
http://tracker.ceph.com/issues/9044 Fixes: #9044
Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: ErasureCodeIsa::create_ruleset must return a ruleset
http://tracker.ceph.com/issues/9044 Refs: #9044
Signed-off-by: Loic Dachary <loic@dachary.org>
erasure-code: OSDMonitor::crush_ruleset_create_erasure needs ruleset
When OSDMonitor::crush_ruleset_create_erasure checks the ruleset for
existence, it must convert the ruleid into a ruleset before assigning it
back to the *ruleset parameter.
http://tracker.ceph.com/issues/9044 Fixes: #9044
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 04a484a4d5800c9bcf9805d3e87ed0c8dee01c9a)
erasure-code: ErasureCodeJerasure::create_ruleset must return a ruleset
CrushWrapper::add_simple_ruleset does not return a ruleset, it returns
a ruleid that must be converted into a ruleset before being returned.
http://tracker.ceph.com/issues/9044 Fixes: #9044
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 0029a35872d3fc15f9a0d60d095b2e111d6e98a6)
History
#1 Updated by Loïc Dachary over 9 years ago
- Description updated (diff)
#2 Updated by Loïc Dachary over 9 years ago
- Status changed from 12 to Fix Under Review
- % Done changed from 0 to 80
#3 Updated by Loïc Dachary over 9 years ago
- Backport set to firefly
#4 Updated by Loïc Dachary over 9 years ago
- Status changed from Fix Under Review to 7
gitbuilder is running
#5 Updated by Loïc Dachary over 9 years ago
#6 Updated by Loïc Dachary over 9 years ago
Works. The problems of this run are
- unrelated MDS decode bug
- test_librbd_python.sh timeout but no erasure-coded workload is involved
#7 Updated by Loïc Dachary over 9 years ago
- Status changed from 7 to Resolved
- % Done changed from 80 to 100
#8 Updated by Loïc Dachary over 9 years ago
- Status changed from Resolved to Pending Backport
- % Done changed from 100 to 90
#9 Updated by Loïc Dachary over 9 years ago
#10 Updated by Sage Weil over 9 years ago
- Status changed from Pending Backport to Resolved