lkml.org 
[lkml]   [2012]   [May]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/2] fat: add fat_msg_ratelimit.
    Date
    I tried to add fat_msg_ratelimit to limit many message at once.

    Signed-off-by: Namjae Jeon <linkinjeon@gmail.com>
    Signed-off-by: Amit Sahrawat <amit.sahrawat83@gmail.com>
    ---
    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


    \
     
     \ /
      Last update: 2012-05-13 13:41    [W:0.026 / U:91.692 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site