]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: erasure-code-profile incremental rm before set 4066/head
authorLoic Dachary <ldachary@redhat.com>
Wed, 18 Mar 2015 13:17:00 +0000 (14:17 +0100)
committerLoic Dachary <ldachary@redhat.com>
Wed, 18 Mar 2015 13:17:00 +0000 (14:17 +0100)
commit0d52aca0d0c302983d03b0f5213ffed187e4ed63
tree1ddc0a418bff1557cedcbffeff4dc88a92b70904
parentc93ab8668f349867dfd2a41c471a9c56852bd28c
osd: erasure-code-profile incremental rm before set

It is possible for an incremental change to have both a rm and a set for
a given erasure code profile. It only happens when a rm is followed by a
set. When a set is followed by a rm, the rm will remove the pending set
in the incremental change.

The logic is the same for pool create and pool delete.

We must apply the incremental erasure-code-profile removal before the
creation otherwise rm and set in the same proposal will ignore the set.

This fix is minimal. A better change would be that erasure-code-profile
set checks if there is a pending removal and wait_for_finished_proposal
before creating.

http://tracker.ceph.com/issues/11144 Fixes: #11144

Signed-off-by: Loic Dachary <ldachary@redhat.com>
src/osd/OSDMap.cc