Commit d7320eeb authored by David Auer's avatar David Auer
Browse files

Fix default value for m_copies in DistRandSlice

parent b6821788
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ DistRandSlice::DistRandSlice() : DistRandSlice(true, true) {}

DistRandSlice::DistRandSlice(bool use_even_odd_collection,
                             bool use_sorted_assimilation) {
    m_copies = 0;
    m_copies = 1;
    m_disks = NULL;
    m_num_disks = 0;
    m_partitions = NULL;
@@ -88,6 +88,12 @@ DistRandSlice::~DistRandSlice() {
void
DistRandSlice::setConfiguration(std::list<Disk*>* disks, int64_t extentsize,
                                int32_t copies) {
    // TODO remove this whole method, addDisks is sufficient. Copies is
    // always 1.
    assert(copies == 1);
    // The original RandomSlicing supports other values,
    // but the new removeDisks operation does not. GekkoFS also lacks support
    // for multiple copies.

    if(extentsize != 1)
        throw std::logic_error(
@@ -127,6 +133,7 @@ DistRandSlice::addDisks(std::list<Disk*>* disks) {
// Added for GekkoFS
void
DistRandSlice::removeDisks(std::vector<uint64_t> disk_ids) {
    assert(m_copies == 1); // Not designed for other values
    // part id -> num blocks to remove
    std::unordered_map<uint64_t, uint64_t> old_partitions;
    for(const auto partition : *m_partitions) {