• Kent Overstreet's avatar
    bcachefs: Data update path won't accidentaly grow replicas · 7d9f8468
    Kent Overstreet authored
    Previously, there was a bug where if an extent had greater durability
    than required (because we needed to move a durability=1 pointer and
    ended up putting it on a durability 2 device), we would submit a write
    for replicas=2 - the durability of the pointer being rewritten - instead
    of the number of replicas required to bring it back up to the
    data_replicas option.
    
    This, plus the allocation path sometimes allocating on a greater
    durability device than requested, meant that extents could continue
    having more and more replicas added as they were being rewritten.
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
    7d9f8468
move.c 28.4 KB