• Scott Bauer's avatar
    dm unstripe: fix target length versus number of stripes size check · cc656619
    Scott Bauer authored
    Since the unstripe target takes a target length which is the
    size of *one* striped member we're trying to expose, not the
    total size of *all* the striped members, the check does not
    make sense and fails for some striped setups.
    
    For example, say we have a 4TB striped device:
    or 3907018496 sectors per underlying device:
    
    if (sector_div(width, uc->stripes)) :
       3907018496 / 2(num stripes)  == 1953509248
    
    tmp_len = width;
    if (sector_div(tmp_len, uc->chunk_size)) :
       1953509248 / 256(chunk size) == 7630895.5
       (fails)
    
    Fix this by removing the first check which isn't valid for unstriping.
    Signed-off-by: default avatarScott Bauer <scott.bauer@intel.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    cc656619
dm-unstripe.c 4.78 KB