[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <43db8d24-aa70-3902-cee6-2879f8e8ff5e@huaweicloud.com>
Date: Tue, 7 Nov 2023 17:44:52 +0800
From: Yu Kuai <yukuai1@...weicloud.com>
To: "yebin (H)" <yebin10@...wei.com>,
Yu Kuai <yukuai1@...weicloud.com>, hch@....de, axboe@...nel.dk
Cc: linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
yi.zhang@...wei.com, yangerkun@...wei.com,
Ming Lei <ming.lei@...hat.com>,
"yukuai (C)" <yukuai3@...wei.com>
Subject: Re: [PATCH] blk-core: use pr_warn_ratelimited() in bio_check_ro()
Hi,
在 2023/11/07 11:50, yebin (H) 写道:
>
>
> 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.
Yes, this can work, other than that I think the flag should be in
block_device instead of gendisk.
However, I'm not sure which is better for now, hope Christoph or Ming
or anyone can give some advise.
Thanks,
Kuai
>> /* Older lvm-tools actually trigger this */
>> }
>> }
>
Powered by blists - more mailing lists