• NeilBrown's avatar
    [PATCH] md: optimised resync using Bitmap based intent logging · 32a7627c
    NeilBrown authored
    With this patch, the intent to write to some block in the array can be logged
    to a bitmap file.  Each bit represents some number of sectors and is set
    before any update happens, and only cleared when all writes relating to all
    sectors are complete.
    
    After an unclean shutdown, information in this bitmap can be used to optimise
    resync - only sectors which could be out-of-sync need to be updated.
    
    Also if a drive is removed and then added back into an array, the recovery can
    make use of the bitmap to optimise reconstruction.  This is not implemented in
    this patch.
    
    Currently the bitmap is stored in a file which must (obviously) be stored on a
    separate device.
    
    The patch only provided infrastructure.  It does not update any personalities
    to bitmap intent logging.
    
    Md arrays can still be used with no bitmap file.  This patch has minimal
    impact on such arrays.
    Signed-off-by: default avatarNeil Brown <neilb@cse.unsw.edu.au>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    32a7627c
md.c 92.1 KB