Re: [PATCH 1/1] Don't set discard sectors for request queue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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)
> >
>




[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux