[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6549B3FC.1010700@huawei.com>
Date: Tue, 7 Nov 2023 11:50:20 +0800
From: "yebin (H)" <yebin10@...wei.com>
To: Yu Kuai <yukuai1@...weicloud.com>, <hch@....de>, <axboe@...nel.dk>
CC: <linux-block@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<yukuai3@...wei.com>, <yi.zhang@...wei.com>, <yangerkun@...wei.com>
Subject: Re: [PATCH] blk-core: use pr_warn_ratelimited() in bio_check_ro()
On 2023/11/7 19:12, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@...wei.com>
>
> If one of the underlying disks of raid or dm is set to read-only, then
> each io will generate new log, which will cause message storm. This
> environment is indeed problematic, however we can't make sure our
> naive custormer won't do this, hence use pr_warn_ratelimited() to
> prevent message storm in this case.
>
> Signed-off-by: Yu Kuai <yukuai3@...wei.com>
> ---
> block/blk-core.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/block/blk-core.c b/block/blk-core.c
> index 9d51e9894ece..fdf25b8d6e78 100644
> --- a/block/blk-core.c
> +++ b/block/blk-core.c
> @@ -501,8 +501,8 @@ static inline void bio_check_ro(struct bio *bio)
> if (op_is_write(bio_op(bio)) && bdev_read_only(bio->bi_bdev)) {
> if (op_is_flush(bio->bi_opf) && !bio_sectors(bio))
> return;
> - pr_warn("Trying to write to read-only block-device %pg\n",
> - bio->bi_bdev);
> + pr_warn_ratelimited("Trying to write to read-only block-device %pg\n",
> + bio->bi_bdev);
Acctually, before commit 57e95e4670d1 ("block: fix and cleanup
bio_check_ro") , there's only print warning once.
I wrote a patch earlier, set GD_ROWR_WARNED flag for disk after emit
warning. You can look at the patch in the
attachment, Is it possible to solve your problem.
> /* Older lvm-tools actually trigger this */
> }
> }
View attachment "0001-block-only-print-warning-once-when-write-to-readonly.patch" of type "text/x-patch" (2503 bytes)
Powered by blists - more mailing lists