• Junichi Nomura's avatar
    dm: remove nr_iovecs parameter from alloc_tio() · 99778273
    Junichi Nomura authored
    alloc_tio() uses bio_alloc_bioset() to allocate a clone-bio for a bio.
    alloc_tio() takes the number of bvecs to allocate for the clone-bio.
    However, with v3.14's immutable biovec changes DM now uses
    __bio_clone_fast() and no longer needs to allocate bvecs.
    
    In practice, the 'nr_iovecs' passed to alloc_tio() is always effectively
    0.  __clone_and_map_simple_bio() looked like it was passing non-zero
    nr_iovecs, but its value was always within the range of inline bvecs and
    no allocation actually happened.  If allocation happened, the BUG_ON() in
    __bio_clone_fast() would've triggered.
    
    Remove the nr_iovecs parameter from alloc_tio() to prevent possible
    future bio_alloc_bioset() mis-use of a new bioset interface that will no
    longer allow bvecs to be allocated.
    
    Also fix extra whitespace before the __bio_clone_fast() call in
    __clone_and_map_simple_bio().
    Signed-off-by: default avatarJun'ichi Nomura <j-nomura@ce.jp.nec.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    99778273
dm.c 66.6 KB