]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mon: compute the ruleset of erasure-coded pools
authorLoic Dachary <loic@dachary.org>
Sun, 2 Feb 2014 09:05:59 +0000 (10:05 +0100)
committerLoic Dachary <loic@dachary.org>
Tue, 4 Feb 2014 07:06:26 +0000 (08:06 +0100)
commit1acc73bb09e2c5630b30acf1af55ec8753119781
tree19f35b11824ed6330a50e9f0d8a9198598eb5a91
parent8259e51d4649ea2da5ef5b646d0b1f29ad497e48
mon: compute the ruleset of erasure-coded pools

The default ruleset of an erasure coded pool may depend on the
parameters used to configure it. In the case of a pyramidal /
hierarchical plugin, the desired ruleset will, for instance, chose from
datacenters and then from racks and disperse local coding chunks among
them.

For this reason the default ruleset cannot be hardcoded in config_opts
as it is for replicated pools. Instead, the "crush_ruleset" property is
interpreted to be the name of an existing crush ruleset to be used.

If the corresponding ruleset is found in a pending crushmap, the
prepare_pool_crush_ruleset will return EAGAIN. The "osd pool create"
caller is modified to handle the EAGAIN error and reschedules the message.

Reviewed-By: Christophe Courtaut <christophe.courtaut@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
src/mon/OSDMonitor.cc