]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
block: rate-limit capacity change info log
authorLi Chen <chenl311@chinatelecom.cn>
Mon, 17 Nov 2025 05:34:07 +0000 (13:34 +0800)
committerJens Axboe <axboe@kernel.dk>
Mon, 17 Nov 2025 18:30:24 +0000 (11:30 -0700)
loop devices under heavy stress-ng loop streessor can trigger many
capacity change events in a short time. Each event prints an info
message from set_capacity_and_notify(), flooding the console and
contributing to soft lockups on slow consoles.

Switch the printk in set_capacity_and_notify() to
pr_info_ratelimited() so frequent capacity changes do not spam
the log while still reporting occasional changes.

Cc: stable@vger.kernel.org
Signed-off-by: Li Chen <chenl311@chinatelecom.cn>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/genhd.c

index 9bbc38d127926605f8a05929f91a7abe0c8265e6..bd3a6841e5b59abbacac6bc12dcd240f2cee771f 100644 (file)
@@ -90,7 +90,7 @@ bool set_capacity_and_notify(struct gendisk *disk, sector_t size)
            (disk->flags & GENHD_FL_HIDDEN))
                return false;
 
-       pr_info("%s: detected capacity change from %lld to %lld\n",
+       pr_info_ratelimited("%s: detected capacity change from %lld to %lld\n",
                disk->disk_name, capacity, size);
 
        /*