lkml.org 
[lkml]   [2021]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 041/152] dm raid: fix discard limits for raid1
    Date
    From: Mike Snitzer <snitzer@redhat.com>

    commit cc07d72bf350b77faeffee1c37bc52197171473f upstream.

    Block core warned that discard_granularity was 0 for dm-raid with
    personality of raid1. Reason is that raid_io_hints() was incorrectly
    special-casing raid1 rather than raid0.

    Fix raid_io_hints() by removing discard limits settings for
    raid1. Check for raid0 instead.

    Fixes: 61697a6abd24a ("dm: eliminate 'split_discard_bios' flag from DM target interface")
    Cc: stable@vger.kernel.org
    Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
    Reported-by: Mikulas Patocka <mpatocka@redhat.com>
    Reported-by: Stephan Bärwolf <stephan@matrixstorm.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/md/dm-raid.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    --- a/drivers/md/dm-raid.c
    +++ b/drivers/md/dm-raid.c
    @@ -3730,10 +3730,10 @@ static void raid_io_hints(struct dm_targ
    blk_limits_io_opt(limits, chunk_size_bytes * mddev_data_stripes(rs));

    /*
    - * RAID1 and RAID10 personalities require bio splitting,
    - * RAID0/4/5/6 don't and process large discard bios properly.
    + * RAID0 and RAID10 personalities require bio splitting,
    + * RAID1/4/5/6 don't and process large discard bios properly.
    */
    - if (rs_is_raid1(rs) || rs_is_raid10(rs)) {
    + if (rs_is_raid0(rs) || rs_is_raid10(rs)) {
    limits->discard_granularity = chunk_size_bytes;
    limits->max_discard_sectors = rs->md.chunk_sectors;
    }

    \
     
     \ /
      Last update: 2021-01-18 12:57    [W:4.242 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site