Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 382e2b8a authored by Sahitya Tummala's avatar Sahitya Tummala Committed by Gerrit - the friendly Code Review server
Browse files

fs: fat: ratelimit the IO errors



In case the application is still issuing the requests after
the low-level driver is shutdown, IO errors are expected.
Ratelimit those errors with the default ratelimit to avoid
watchdog bark issue in some cases.

Change-Id: Ida436cbf1be9556f456652e72bc1dac508abd047
Signed-off-by: default avatarSahitya Tummala <stummala@codeaurora.org>
parent 1f7554fb
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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;
+3 −2
Original line number Diff line number Diff line
@@ -843,8 +843,9 @@ static int __fat_write_inode(struct inode *inode, int wait)
	fat_get_blknr_offset(sbi, i_pos, &blocknr, &offset);
	bh = sb_bread(sb, blocknr);
	if (!bh) {
		fat_msg(sb, KERN_ERR, "unable to read inode block "
		       "for updating (i_pos %lld)", i_pos);
		fat_msg_ratelimit(sb, KERN_ERR,
			"unable to read inode block for updating (i_pos %lld)",
			i_pos);
		return -EIO;
	}
	spin_lock(&sbi->inode_hash_lock);