• NeilBrown's avatar
    [PATCH] md: add write-intent-bitmap support to raid5 · 72626685
    NeilBrown authored
    Most awkward part of this is delaying write requests until bitmap updates have
    been flushed.
    
    To achieve this, we have a sequence number (seq_flush) which is incremented
    each time the raid5 is unplugged.
    
    If the raid thread notices that this has changed, it flushes bitmap changes,
    and assigned the value of seq_flush to seq_write.
    
    When a write request arrives, it is given the number from seq_write, and that
    write request may not complete until seq_flush is larger than the saved seq
    number.
    
    We have a new queue for storing stripes which are waiting for a bitmap flush
    and an extra flag for stripes to record if the write was 'degraded' and so
    should not clear the a bit in the bitmap.
    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>
    72626685
raid5.c 55.3 KB