]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: default ec min_size to k+1 8008/head
authorDan van der Ster <daniel.vanderster@cern.ch>
Wed, 9 Mar 2016 21:59:09 +0000 (22:59 +0100)
committerDan van der Ster <daniel.vanderster@cern.ch>
Wed, 9 Mar 2016 22:28:22 +0000 (23:28 +0100)
If m OSDs are down and we allow writes to the remaining k, the
PG could be unpeerable if one of these k goes down during
subsequent recovery. Default min_size to k+1 to be a bit safer.

Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
src/mon/OSDMonitor.cc

index f6bff252c78d1ecc04de3d119cada69eae4452c4..10ec1f0e3dc9b39f84ed62535b1103884d4e0703 100644 (file)
@@ -4519,7 +4519,7 @@ 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 = erasure_code->get_data_chunk_count();
+       *min_size = MIN(erasure_code->get_data_chunk_count() + 1, *size);
       }
     }
     break;