On Wed, Nov 2, 2022 at 4:21 AM Song Liu <song@xxxxxxxxxx> wrote: > > On Mon, Oct 31, 2022 at 10:08 PM Xiao Ni <xni@xxxxxxxxxx> wrote: > > Please update the subject as md/raid0, raid10: xxx. Sorry for forgetting about this again. > > > > > It should use disk_stack_limits to get a proper max_discard_sectors > > rather than setting a value by stack drivers. > > > > And there is a bug. If all member disks are rotational devices, > > raid0/raid10 set max_discard_sectors. So the member devices are > > not ssd/nvme, but raid0/raid10 export the wrong value. It reports > > warning messages in function __blkdev_issue_discard when mkfs.xfs > > Please provide more information about this bug: the warning message, > the impact, etc. in the commit log. I remember we need to obey a rule to paste the warning/panic messages, right? If so, can you tell the position again? I use the keyword "warning/panic/calltrace" to search in file process/submitting-patches.rst and can't find the useful information. Or it just needs to paste the calltraces in the patch? Regards Xiao > > > > > Signed-off-by: Xiao Ni <xni@xxxxxxxxxx> > > Reported-by: Yi Zhang <yi.zhang@xxxxxxxxxx> > > Thanks, > Song > > > --- > > drivers/md/raid0.c | 1 - > > drivers/md/raid10.c | 2 -- > > 2 files changed, 3 deletions(-) > > > > diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c > > index aced0ad8cdab..9d4831ca802c 100644 > > --- a/drivers/md/raid0.c > > +++ b/drivers/md/raid0.c > > @@ -398,7 +398,6 @@ static int raid0_run(struct mddev *mddev) > > > > blk_queue_max_hw_sectors(mddev->queue, mddev->chunk_sectors); > > blk_queue_max_write_zeroes_sectors(mddev->queue, mddev->chunk_sectors); > > - blk_queue_max_discard_sectors(mddev->queue, UINT_MAX); > > > > blk_queue_io_min(mddev->queue, mddev->chunk_sectors << 9); > > blk_queue_io_opt(mddev->queue, > > diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c > > index 3aa8b6e11d58..9a6503f5cb98 100644 > > --- a/drivers/md/raid10.c > > +++ b/drivers/md/raid10.c > > @@ -4145,8 +4145,6 @@ static int raid10_run(struct mddev *mddev) > > conf->thread = NULL; > > > > if (mddev->queue) { > > - blk_queue_max_discard_sectors(mddev->queue, > > - UINT_MAX); > > blk_queue_max_write_zeroes_sectors(mddev->queue, 0); > > blk_queue_io_min(mddev->queue, mddev->chunk_sectors << 9); > > raid10_set_io_opt(conf); > > -- > > 2.32.0 (Apple Git-132) > > >