Project

General

Profile

Actions

Bug #8373

closed

Pool creation defaults to ruleset 0 even if it doesn't exist

Added by John Spray almost 10 years ago. Updated almost 10 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Monitor
Target version:
-
% Done:

0%

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

Description

common/config.h
33:  CEPH_DEFAULT_CRUSH_REPLICATED_RULESET,
34:  CEPH_DEFAULT_CRUSH_ERASURE_RULESET,

common/config_opts.h
422:OPTION(osd_pool_default_crush_replicated_ruleset, OPT_INT, CEPH_DEFAULT_CRUSH_REPLICATED_RULESET)

The default value (0) for ruleset in replicated pools is defined as an enum, but interpreted as a literal value. If there is no rule 0, pool creation operations create a broken pool with crush_ruleset=0.

We should interpret osd_pool_default_crush_replicated_ruleset during creation such that if it equals CEPH_DEFAULT_CRUSH_REPLICATED_RULESET we pick the lowest numbered available crush rule.

Actions #1

Updated by John Spray almost 10 years ago

  • Status changed from New to In Progress
  • Assignee set to John Spray
Actions #2

Updated by Sage Weil almost 10 years ago

  • Status changed from In Progress to Fix Under Review
Actions #3

Updated by Sage Weil almost 10 years ago

  • Status changed from Fix Under Review to Pending Backport
  • Source changed from other to Development
Actions #4

Updated by Sage Weil almost 10 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF