From 7f49be2104f0a5df894a53e200c431c527781f9c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 11 Mar 2019 12:52:23 -0500 Subject: [PATCH] mon/OSDMonitor: set ec min_size to k + min(1, m - 1) Signed-off-by: Sage Weil --- src/mon/OSDMonitor.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index efbc8c1257c..96c7189140b 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; -- 2.39.5