• NeilBrown's avatar
    md/bitmap: allow a bitmap with no backing storage. · ef99bf48
    NeilBrown authored
    An md bitmap comprises two parts
     - internal counting of active writes per 'chunk'.
     - external storage of whether there are any active writes on
       each chunk
    
    The second requires the first, but the first doesn't require the
    second.
    
    Not having backing storage means that the bitmap cannot expedite
    resync after a crash, but it still allows us to expedite the recovery
    of a recently-removed device.
    
    So: allow a bitmap to exist even if there is no backing device.
    In that case we default to 128M chunks.
    
    A particular value of this is that we can remove and re-add a bitmap
    (possibly of a different granularity) on a degraded array, and not
    lose the information needed to fast-recover the missing device.
    
    We don't actually activate these bitmaps yet - that will come
    in a later patch.
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    ef99bf48
bitmap.c 56.2 KB