• NeilBrown's avatar
    [PATCH] md: fix innocuous bug in raid6 stripe_to_pdidx · b875e531
    NeilBrown authored
    stripe_to_pdidx finds the index of the parity disk for a given stripe.  It
    assumes raid5 in that it uses "disks-1" to determine the number of data disks.
    
    This is incorrect for raid6 but fortunately the two usages cancel each other
    out.  The only way that 'data_disks' affects the calculation of pd_idx in
    raid5_compute_sector is when it is divided into the sector number.  But as
    that sector number is calculated by multiplying in the wrong value of
    'data_disks' the division produces the right value.
    
    So it is innocuous but needs to be fixed.
    
    Also change the calculation of raid_disks in compute_blocknr to make it
    more obviously correct (it seems at first to always use disks-1 too).
    Signed-off-by: default avatarNeil Brown <neilb@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    b875e531
raid5.c 114 KB