fatfs: ratelimit corruption report

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
OGAWA Hirofumi
2010-05-24 14:33:12 -07:00
committed by Linus Torvalds
parent f40c396a9a
commit aaa04b4875
4 changed files with 31 additions and 18 deletions

View File

@@ -20,27 +20,29 @@
* In case the file system is remounted read-only, it can be made writable
* again by remounting it.
*/
void fat_fs_error(struct super_block *s, const char *fmt, ...)
void __fat_fs_error(struct super_block *s, int report, const char *fmt, ...)
{
struct fat_mount_options *opts = &MSDOS_SB(s)->options;
va_list args;
printk(KERN_ERR "FAT: Filesystem error (dev %s)\n", s->s_id);
if (report) {
printk(KERN_ERR "FAT: Filesystem error (dev %s)\n", s->s_id);
printk(KERN_ERR " ");
va_start(args, fmt);
vprintk(fmt, args);
va_end(args);
printk("\n");
printk(KERN_ERR " ");
va_start(args, fmt);
vprintk(fmt, args);
va_end(args);
printk("\n");
}
if (opts->errors == FAT_ERRORS_PANIC)
panic(" FAT fs panic from previous error\n");
panic("FAT: fs panic from previous error\n");
else if (opts->errors == FAT_ERRORS_RO && !(s->s_flags & MS_RDONLY)) {
s->s_flags |= MS_RDONLY;
printk(KERN_ERR " File system has been set read-only\n");
printk(KERN_ERR "FAT: Filesystem has been set read-only\n");
}
}
EXPORT_SYMBOL_GPL(fat_fs_error);
EXPORT_SYMBOL_GPL(__fat_fs_error);
/* Flushes the number of free clusters on FAT32 */
/* XXX: Need to write one per FSINFO block. Currently only writes 1 */