All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Zhihao Cheng <chengzhihao1@huawei.com>
Cc: <richard@nod.at>, <vigneshr@ti.com>,
	<linux-mtd@lists.infradead.org>, <linux-kernel@vger.kernel.org>,
	<yukuai3@huawei.com>, Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH v2] mtd: mtd_blkdevs: Initialize rq.limits.discard_granularity
Date: Fri, 18 Jun 2021 09:52:07 +0200	[thread overview]
Message-ID: <20210618095207.0bec4fde@xps13> (raw)
In-Reply-To: <20210615093905.3473709-1-chengzhihao1@huawei.com>

Hi Zhihao,

Zhihao Cheng <chengzhihao1@huawei.com> wrote on Tue, 15 Jun 2021
17:39:05 +0800:

> Since commit b35fd7422c2f8("block: check queue's limits.discard_granularity
> in __blkdev_issue_discard()") checks rq.limits.discard_granularity in
> __blkdev_issue_discard(), we may get following warnings on formatted ftl:
> 
>   WARNING: CPU: 2 PID: 7313 at block/blk-lib.c:51
>   __blkdev_issue_discard+0x2a7/0x390
> 
> Reproducer:
>   1. ftl_format /dev/mtd0
>   2. modprobe ftl
>   3. mkfs.vfat /dev/ftla
>   4. mount -odiscard /dev/ftla temp
>   5. dd if=/dev/zero of=temp/tst bs=1M count=10 oflag=direct
>   6. dd if=/dev/zero of=temp/tst bs=1M count=10 oflag=direct
> 
> Fix it by initializing rq.limits.discard_granularity if device supports
> discard operation.

Can you please verify that this is still needed after Christoph's
additional fix:
https://patchwork.kernel.org/project/xen-devel/patch/20210602065345.355274-10-hch@lst.de/

> 
> Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
> ---
>  drivers/mtd/mtd_blkdevs.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
> index 01bf234e7f3a..6eac1c9c164d 100644
> --- a/drivers/mtd/mtd_blkdevs.c
> +++ b/drivers/mtd/mtd_blkdevs.c
> @@ -413,6 +413,7 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new)
>  	if (tr->discard) {
>  		blk_queue_flag_set(QUEUE_FLAG_DISCARD, new->rq);
>  		blk_queue_max_discard_sectors(new->rq, UINT_MAX);
> +		new->rq->limits.discard_granularity = tr->blksize;
>  	}
>  
>  	gd->queue = new->rq;




Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Zhihao Cheng <chengzhihao1@huawei.com>
Cc: <richard@nod.at>, <vigneshr@ti.com>,
	<linux-mtd@lists.infradead.org>, <linux-kernel@vger.kernel.org>,
	<yukuai3@huawei.com>, Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH v2] mtd: mtd_blkdevs: Initialize rq.limits.discard_granularity
Date: Fri, 18 Jun 2021 09:52:07 +0200	[thread overview]
Message-ID: <20210618095207.0bec4fde@xps13> (raw)
In-Reply-To: <20210615093905.3473709-1-chengzhihao1@huawei.com>

Hi Zhihao,

Zhihao Cheng <chengzhihao1@huawei.com> wrote on Tue, 15 Jun 2021
17:39:05 +0800:

> Since commit b35fd7422c2f8("block: check queue's limits.discard_granularity
> in __blkdev_issue_discard()") checks rq.limits.discard_granularity in
> __blkdev_issue_discard(), we may get following warnings on formatted ftl:
> 
>   WARNING: CPU: 2 PID: 7313 at block/blk-lib.c:51
>   __blkdev_issue_discard+0x2a7/0x390
> 
> Reproducer:
>   1. ftl_format /dev/mtd0
>   2. modprobe ftl
>   3. mkfs.vfat /dev/ftla
>   4. mount -odiscard /dev/ftla temp
>   5. dd if=/dev/zero of=temp/tst bs=1M count=10 oflag=direct
>   6. dd if=/dev/zero of=temp/tst bs=1M count=10 oflag=direct
> 
> Fix it by initializing rq.limits.discard_granularity if device supports
> discard operation.

Can you please verify that this is still needed after Christoph's
additional fix:
https://patchwork.kernel.org/project/xen-devel/patch/20210602065345.355274-10-hch@lst.de/

> 
> Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
> ---
>  drivers/mtd/mtd_blkdevs.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
> index 01bf234e7f3a..6eac1c9c164d 100644
> --- a/drivers/mtd/mtd_blkdevs.c
> +++ b/drivers/mtd/mtd_blkdevs.c
> @@ -413,6 +413,7 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new)
>  	if (tr->discard) {
>  		blk_queue_flag_set(QUEUE_FLAG_DISCARD, new->rq);
>  		blk_queue_max_discard_sectors(new->rq, UINT_MAX);
> +		new->rq->limits.discard_granularity = tr->blksize;
>  	}
>  
>  	gd->queue = new->rq;




Thanks,
Miquèl

  reply	other threads:[~2021-06-18  7:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-15  9:39 [PATCH v2] mtd: mtd_blkdevs: Initialize rq.limits.discard_granularity Zhihao Cheng
2021-06-15  9:39 ` Zhihao Cheng
2021-06-18  7:52 ` Miquel Raynal [this message]
2021-06-18  7:52   ` Miquel Raynal
2021-06-18  8:55   ` Zhihao Cheng
2021-06-18  8:55     ` Zhihao Cheng
2021-07-12 13:39     ` Zhihao Cheng
2021-07-15 22:50 ` Miquel Raynal
2021-07-15 22:50   ` Miquel Raynal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210618095207.0bec4fde@xps13 \
    --to=miquel.raynal@bootlin.com \
    --cc=chengzhihao1@huawei.com \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=richard@nod.at \
    --cc=vigneshr@ti.com \
    --cc=yukuai3@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.