[dm-devel] dm-raid: stack limits instead of overwriting them.

Mikulas Patocka mpatocka at redhat.com
Thu Sep 24 17:07:12 UTC 2020



On Thu, 24 Sep 2020, Mike Snitzer wrote:

> WAIT... Could it be that raid_io_hints _really_ meant to special case
> raid0 and raid10 -- due to their striping/splitting requirements!?
> So, not raid1 but raid0?
> 
> E.g.:
> 
> diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c
> index 56b723d012ac..6dca932d6f1d 100644
> --- a/drivers/md/dm-raid.c
> +++ b/drivers/md/dm-raid.c
> @@ -3730,10 +3730,10 @@ static void raid_io_hints(struct dm_target *ti,
> struct queue_limits *limits)
>         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;
>         }
> 
> Mike

Yes - that's an interesing point.

Mikulas




More information about the dm-devel mailing list