| From b1b717c5976b96f1102ffb1bf0ced8c56d731bd2 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 29 Apr 2022 14:38:02 -0700 |
| Subject: fat: add ratelimit to fat*_ent_bread() |
| |
| From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> |
| |
| [ Upstream commit 183c3237c928109d2008c0456dff508baf692b20 ] |
| |
| fat*_ent_bread() can be the cause of too many report on I/O error path. |
| So use fat_msg_ratelimit() instead. |
| |
| Link: https://lkml.kernel.org/r/87bkxogfeq.fsf@mail.parknet.co.jp |
| Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> |
| Reported-by: qianfan <qianfanguijin@163.com> |
| Tested-by: qianfan <qianfanguijin@163.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| fs/fat/fatent.c | 7 ++++--- |
| 1 file changed, 4 insertions(+), 3 deletions(-) |
| |
| diff --git a/fs/fat/fatent.c b/fs/fat/fatent.c |
| index 0129d4d07a54..b0b1a71c07b7 100644 |
| --- a/fs/fat/fatent.c |
| +++ b/fs/fat/fatent.c |
| @@ -92,7 +92,8 @@ static int fat12_ent_bread(struct super_block *sb, struct fat_entry *fatent, |
| err_brelse: |
| brelse(bhs[0]); |
| err: |
| - fat_msg(sb, KERN_ERR, "FAT read failed (blocknr %llu)", (llu)blocknr); |
| + fat_msg_ratelimit(sb, KERN_ERR, "FAT read failed (blocknr %llu)", |
| + (llu)blocknr); |
| return -EIO; |
| } |
| |
| @@ -105,8 +106,8 @@ static int fat_ent_bread(struct super_block *sb, struct fat_entry *fatent, |
| fatent->fat_inode = MSDOS_SB(sb)->fat_inode; |
| fatent->bhs[0] = sb_bread(sb, blocknr); |
| if (!fatent->bhs[0]) { |
| - fat_msg(sb, KERN_ERR, "FAT read failed (blocknr %llu)", |
| - (llu)blocknr); |
| + fat_msg_ratelimit(sb, KERN_ERR, "FAT read failed (blocknr %llu)", |
| + (llu)blocknr); |
| return -EIO; |
| } |
| fatent->nr_bhs = 1; |
| -- |
| 2.35.1 |
| |