Revert "dm raid: fix discard limits for raid1 and raid10"
authorMike Snitzer <snitzer@redhat.com>
Mon, 14 Dec 2020 17:12:08 +0000 (12:12 -0500)
committerMike Snitzer <snitzer@redhat.com>
Mon, 14 Dec 2020 17:12:08 +0000 (12:12 -0500)
This reverts commit e0910c8e4f87bb9f767e61a778b0d9271c4dc512.

Reverting 6ffeb1c3f822 ("md: change mddev 'chunk_sectors' from int to
unsigned") exposes dm-raid.c compiler warnings detailed that commit's
header. Clearly this more conservative fix, of simply reverting
e0910c8e4f8, would've been more prudent given how late we were in the
v5.10 release. Lessons have been learned.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-raid.c

index dc8568a..56b723d 100644 (file)
@@ -3730,14 +3730,12 @@ 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));
 
        /*
-        * RAID10 personality requires bio splitting,
-        * RAID0/1/4/5/6 don't and process large discard bios properly.
+        * RAID1 and RAID10 personalities require bio splitting,
+        * RAID0/4/5/6 don't and process large discard bios properly.
         */
-       if (rs_is_raid10(rs)) {
-               limits->discard_granularity = max(chunk_size_bytes,
-                                                 limits->discard_granularity);
-               limits->max_discard_sectors = min_not_zero(rs->md.chunk_sectors,
-                                                          limits->max_discard_sectors);
+       if (rs_is_raid1(rs) || rs_is_raid10(rs)) {
+               limits->discard_granularity = chunk_size_bytes;
+               limits->max_discard_sectors = rs->md.chunk_sectors;
        }
 }