On Mon, Dec 14, 2020 at 11:06:10AM -0500, Mike Snitzer wrote: > On Mon, Dec 14 2020 at 9:52am -0500, > gregkh@xxxxxxxxxxxxxxxxxxx <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > > > > This is a note to let you know that I've just added the patch titled > > > > dm raid: fix discard limits for raid1 and raid10 > > > > to the 5.9-stable tree which can be found at: > > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary > > > > The filename of the patch is: > > dm-raid-fix-discard-limits-for-raid1-and-raid10.patch > > and it can be found in the queue-5.9 subdirectory. > > > > If you, or anyone else, feels it should not be added to the stable tree, > > please let <stable@xxxxxxxxxxxxxxx> know about it. > > > > > > From e0910c8e4f87bb9f767e61a778b0d9271c4dc512 Mon Sep 17 00:00:00 2001 > > From: Mike Snitzer <snitzer@xxxxxxxxxx> > > Date: Thu, 24 Sep 2020 13:14:52 -0400 > > Subject: dm raid: fix discard limits for raid1 and raid10 > > > > From: Mike Snitzer <snitzer@xxxxxxxxxx> > > > > commit e0910c8e4f87bb9f767e61a778b0d9271c4dc512 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. > > > > But since commit 29efc390b9462 ("md/md0: optimize raid0 discard > > handling") even raid0 properly handles large discards. > > > > Fix raid_io_hints() by removing discard limits settings for raid1. > > Also, fix limits for raid10 by properly stacking underlying limits as > > done in blk_stack_limits(). > > > > Depends-on: 29efc390b9462 ("md/md0: optimize raid0 discard handling") > > Fixes: 61697a6abd24a ("dm: eliminate 'split_discard_bios' flag from DM target interface") > > Cc: stable@xxxxxxxxxxxxxxx > > Reported-by: Zdenek Kabelac <zkabelac@xxxxxxxxxx> > > Reported-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> > > Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> > > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > > > --- > > drivers/md/dm-raid.c | 12 +++++++----- > > 1 file changed, 7 insertions(+), 5 deletions(-) > > > > --- a/drivers/md/dm-raid.c > > +++ b/drivers/md/dm-raid.c > > @@ -3730,12 +3730,14 @@ 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. > > + * RAID10 personality requires bio splitting, > > + * RAID0/1/4/5/6 don't and process large discard bios properly. > > */ > > - if (rs_is_raid1(rs) || rs_is_raid10(rs)) { > > - limits->discard_granularity = chunk_size_bytes; > > - limits->max_discard_sectors = rs->md.chunk_sectors; > > + 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); > > } > > } > > > > > > > > Patches currently in stable-queue which might be from snitzer@xxxxxxxxxx are > > > > queue-5.9/md-change-mddev-chunk_sectors-from-int-to-unsigned.patch > > queue-5.9/dm-raid-fix-discard-limits-for-raid1-and-raid10.patch > > > > Commit e2782f560c29 caused compiler warnings that when fixed in MD (via > commit f075cfb1dc59) caused unexpected incorrect MD RAID6 device size > that caused boot failure. > > Nacked-by: Mike Snitzer <snitzer@xxxxxxxxxx> > Ok, I'll drop both of these, but then who is fixing Linus's tree and the 5.10.0 release with this current problem in it? Or do we just take the fix for 5.10.0 in here too? thanks, greg k-h