Skip to content
  • Mike Snitzer's avatar
    dm thin: support discard with non power of two block size · 28eed34e
    Mike Snitzer authored
    Support discards when the pool's block size is not a power of 2.
    The block layer assumes discard_granularity is a power of 2 (in
    blkdev_issue_discard), so we set this to the largest power of 2 that is
    a divides into the number of sectors in each block, but never less than
    DATA_DEV_BLOCK_SIZE_MIN_SECTORS.
    
    This patch eliminates the "Discard support must be disabled when the
    block size is not a power of 2" constraint that was imposed in commit
    55f2b8bd
    
     ("dm thin: support for non power of 2 pool blocksize").  That
    commit was incomplete: using a block size that is not a power of 2
    shouldn't mean disabling discard support on the device completely.
    
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
    Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
    28eed34e