Project

General

Profile

Bug #9044

erasure-code: use ruleset instead of ruleid

Added by Loïc Dachary over 9 years ago. Updated over 9 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
OSD
Target version:
-
% Done:

90%

Source:
Community (dev)
Tags:
Backport:
firefly
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

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

Revision 04a484a4 (diff)
Added by Loïc Dachary over 9 years ago

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 <>

Revision 0029a358 (diff)
Added by Loïc Dachary over 9 years ago

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 <>

Revision 3f5d86af (diff)
Added by Loïc Dachary over 9 years ago

erasure-code: ErasureCodeIsa::create_ruleset must return a ruleset

http://tracker.ceph.com/issues/9044 Refs: #9044

Signed-off-by: Loic Dachary <>

Revision 96047f1d (diff)
Added by Loïc Dachary over 9 years ago

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 <>
(cherry picked from commit 04a484a4d5800c9bcf9805d3e87ed0c8dee01c9a)

Revision 07e1ceb5 (diff)
Added by Loïc Dachary over 9 years ago

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 <>
(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

#6 Updated by Loïc Dachary over 9 years ago

Works. The problems of this run are

#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

#10 Updated by Sage Weil over 9 years ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF