From 60f99f6a98d9d213debf1491cd52801f46ed3b69 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Tue, 20 Jan 2004 03:16:56 -0800 Subject: [PATCH] [PATCH] ratelimit I/O error printk's Ratelimit a couple of potentially-stormy printk's in the writeback code. --- fs/buffer.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/fs/buffer.c b/fs/buffer.c index 64287bebdbf2c..cb8c281fa0be5 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -189,9 +189,12 @@ void end_buffer_write_sync(struct buffer_head *bh, int uptodate) if (uptodate) { set_buffer_uptodate(bh); } else { - buffer_io_error(bh); - printk(KERN_WARNING "lost page write due to I/O error on %s\n", - bdevname(bh->b_bdev, b)); + if (printk_ratelimit()) { + buffer_io_error(bh); + printk(KERN_WARNING "lost page write due to " + "I/O error on %s\n", + bdevname(bh->b_bdev, b)); + } set_buffer_write_io_error(bh); clear_buffer_uptodate(bh); } @@ -572,9 +575,12 @@ void end_buffer_async_write(struct buffer_head *bh, int uptodate) if (uptodate) { set_buffer_uptodate(bh); } else { - buffer_io_error(bh); - printk(KERN_WARNING "lost page write due to I/O error on %s\n", - bdevname(bh->b_bdev, b)); + if (printk_ratelimit()) { + buffer_io_error(bh); + printk(KERN_WARNING "lost page write due to " + "I/O error on %s\n", + bdevname(bh->b_bdev, b)); + } set_bit(AS_EIO, &page->mapping->flags); clear_buffer_uptodate(bh); SetPageError(page); -- 2.53.0