[PATCH 1/2] fat: add fat_msg_ratelimit.

From: Namjae Jeon
Date: Sun May 13 2012 - 07:03:55 EST


I tried to add fat_msg_ratelimit to limit many message at once.

Signed-off-by: Namjae Jeon <linkinjeon@xxxxxxxxx>
Signed-off-by: Amit Sahrawat <amit.sahrawat83@xxxxxxxxx>
---
fs/fat/fat.h | 9 +++++++--
fs/fat/misc.c | 18 ++++++++++--------
2 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/fs/fat/fat.h b/fs/fat/fat.h
index 951d12b..3c581c7 100644
--- a/fs/fat/fat.h
+++ b/fs/fat/fat.h
@@ -333,8 +333,13 @@ void __fat_fs_error(struct super_block *sb, int report, const char *fmt, ...);
__fat_fs_error(sb, 1, fmt , ## args)
#define fat_fs_error_ratelimit(sb, fmt, args...) \
__fat_fs_error(sb, __ratelimit(&MSDOS_SB(sb)->ratelimit), fmt , ## args)
-__printf(3, 4) __cold
-void fat_msg(struct super_block *sb, const char *level, const char *fmt, ...);
+__printf(4, 5) __cold
+void __fat_msg(struct super_block *sb, int report, const char *level,
+ const char *fmt, ...);
+#define fat_msg(sb, level, fmt, args...) \
+ __fat_msg(sb, 1, level, fmt, ## args)
+#define fat_msg_ratelimit(sb, level, fmt, args...) \
+ __fat_msg(sb, __ratelimit(&MSDOS_SB(sb)->ratelimit), level, fmt, ## args)
extern int fat_clusters_flush(struct super_block *sb);
extern int fat_chain_add(struct inode *inode, int new_dclus, int nr_cluster);
extern void fat_time_fat2unix(struct msdos_sb_info *sbi, struct timespec *ts,
diff --git a/fs/fat/misc.c b/fs/fat/misc.c
index 6d93360..dcdb091 100644
--- a/fs/fat/misc.c
+++ b/fs/fat/misc.c
@@ -45,19 +45,21 @@ void __fat_fs_error(struct super_block *sb, int report, const char *fmt, ...)
EXPORT_SYMBOL_GPL(__fat_fs_error);

/**
- * fat_msg() - print preformated FAT specific messages. Every thing what is
+ * __fat_msg() - print preformated FAT specific messages. Every thing what is
* not fat_fs_error() should be fat_msg().
*/
-void fat_msg(struct super_block *sb, const char *level, const char *fmt, ...)
+void __fat_msg(struct super_block *sb, int report, const char *level,
+ const char *fmt, ...)
{
struct va_format vaf;
va_list args;
-
- va_start(args, fmt);
- vaf.fmt = fmt;
- vaf.va = &args;
- printk("%sFAT-fs (%s): %pV\n", level, sb->s_id, &vaf);
- va_end(args);
+ if (report) {
+ va_start(args, fmt);
+ vaf.fmt = fmt;
+ vaf.va = &args;
+ printk("%sFAT-fs (%s): %pV\n", level, sb->s_id, &vaf);
+ va_end(args);
+ }
}

/* Flushes the number of free clusters on FAT32 */
--
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/