Project

General

Profile

Bug #9044

erasure-code: use ruleset instead of ruleid

Added by Loic Dachary about 5 years ago. Updated about 5 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
OSD
Target version:
-
Start date:
08/08/2014
Due date:
% Done:

90%

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

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 Loic Dachary about 5 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 Loic Dachary about 5 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 Loic Dachary about 5 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 Loic Dachary about 5 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 Loic Dachary about 5 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 Loic Dachary about 5 years ago

  • Description updated (diff)

#2 Updated by Loic Dachary about 5 years ago

  • Status changed from Verified to Need Review
  • % Done changed from 0 to 80

#3 Updated by Loic Dachary about 5 years ago

  • Backport set to firefly

#4 Updated by Loic Dachary about 5 years ago

  • Status changed from Need Review to Testing

gitbuilder is running

#6 Updated by Loic Dachary about 5 years ago

Works. The problems of this run are

#7 Updated by Loic Dachary about 5 years ago

  • Status changed from Testing to Resolved
  • % Done changed from 80 to 100

#8 Updated by Loic Dachary about 5 years ago

  • Status changed from Resolved to Pending Backport
  • % Done changed from 100 to 90

#10 Updated by Sage Weil about 5 years ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF