Ratelimit a couple of potentially-stormy printk's in the writeback code. --- fs/buffer.c | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-) diff -puN fs/buffer.c~limit-IO-error-printk-storms fs/buffer.c --- 25/fs/buffer.c~limit-IO-error-printk-storms 2004-01-19 19:51:07.000000000 -0800 +++ 25-akpm/fs/buffer.c 2004-01-19 19:51:56.000000000 -0800 @@ -189,9 +189,12 @@ void end_buffer_write_sync(struct buffer 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); } @@ -573,9 +576,12 @@ void end_buffer_async_write(struct buffe 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); _