|
@@ -6,6 +6,7 @@
|
|
|
#include <linux/nls.h>
|
|
|
#include <linux/fs.h>
|
|
|
#include <linux/mutex.h>
|
|
|
+#include <linux/ratelimit.h>
|
|
|
#include <linux/msdos_fs.h>
|
|
|
|
|
|
/*
|
|
@@ -82,6 +83,8 @@ struct msdos_sb_info {
|
|
|
struct fatent_operations *fatent_ops;
|
|
|
struct inode *fat_inode;
|
|
|
|
|
|
+ struct ratelimit_state ratelimit;
|
|
|
+
|
|
|
spinlock_t inode_hash_lock;
|
|
|
struct hlist_head inode_hashtable[FAT_HASH_SIZE];
|
|
|
};
|
|
@@ -322,8 +325,13 @@ extern int fat_fill_super(struct super_block *sb, void *data, int silent,
|
|
|
extern int fat_flush_inodes(struct super_block *sb, struct inode *i1,
|
|
|
struct inode *i2);
|
|
|
/* fat/misc.c */
|
|
|
-extern void fat_fs_error(struct super_block *s, const char *fmt, ...)
|
|
|
- __attribute__ ((format (printf, 2, 3))) __cold;
|
|
|
+extern void
|
|
|
+__fat_fs_error(struct super_block *s, int report, const char *fmt, ...)
|
|
|
+ __attribute__ ((format (printf, 3, 4))) __cold;
|
|
|
+#define fat_fs_error(s, fmt, args...) \
|
|
|
+ __fat_fs_error(s, 1, fmt , ## args)
|
|
|
+#define fat_fs_error_ratelimit(s, fmt, args...) \
|
|
|
+ __fat_fs_error(s, __ratelimit(&MSDOS_SB(s)->ratelimit), 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,
|