From: Sage Weil Date: Mon, 11 Mar 2019 17:52:23 +0000 (-0500) Subject: mon/OSDMonitor: set ec min_size to k + min(1, m - 1) X-Git-Tag: v14.2.0~32^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7f49be2104f0a5df894a53e200c431c527781f9c;p=ceph.git mon/OSDMonitor: set ec min_size to k + min(1, m - 1) Signed-off-by: Sage Weil --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index efbc8c1257c6..96c7189140b1 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -6660,7 +6660,11 @@ int OSDMonitor::prepare_pool_size(const unsigned pool_type, err = get_erasure_code(erasure_code_profile, &erasure_code, ss); if (err == 0) { *size = erasure_code->get_chunk_count(); - *min_size = std::min(erasure_code->get_data_chunk_count() + 1, *size); + *min_size = + erasure_code->get_data_chunk_count() + + std::min(1, erasure_code->get_coding_chunk_count() - 1); + assert(*min_size <= *size); + assert(*min_size >= erasure_code->get_data_chunk_count()); } } break;