[PATCH 1/2] Introduce fat_msg() for unified kernel messages

From: Alexey Fisher
Date: Tue Nov 09 2010 - 11:55:46 EST


Add fat_msg() function to unify printkas. And use it
to report mounts and remounts.

new dmesg looks like this:
[ 6264.957109] FAT-fs (sdg1): Mounted. Opts: uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush
[ 6402.175028] FAT-fs (sdg1): re-mounted. Opts: (null)

Signed-off-by: Alexey Fisher <bug-track@xxxxxxxxxxxxxxxxx>
---
fs/fat/inode.c | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/fs/fat/inode.c b/fs/fat/inode.c
index ad6998a..4699173 100644
--- a/fs/fat/inode.c
+++ b/fs/fat/inode.c
@@ -37,6 +37,20 @@
static int fat_default_codepage = CONFIG_FAT_DEFAULT_CODEPAGE;
static char fat_default_iocharset[] = CONFIG_FAT_DEFAULT_IOCHARSET;

+/* unify messages.
+ * this function is copy of ext4_msg() from fs/ext4/super.c
+ */
+void fat_msg(struct super_block *sb, const char *prefix,
+ const char *fmt, ...)
+{
+ va_list args;
+
+ va_start(args, fmt);
+ printk("%sFAT-fs (%s): ", prefix, sb->s_id);
+ vprintk(fmt, args);
+ printk("\n");
+ va_end(args);
+}

static int fat_add_cluster(struct inode *inode)
{
@@ -552,6 +566,8 @@ static int fat_remount(struct super_block *sb, int *flags, char *data)
{
struct msdos_sb_info *sbi = MSDOS_SB(sb);
*flags |= MS_NODIRATIME | (sbi->options.isvfat ? 0 : MS_NOATIME);
+
+ fat_msg(sb, KERN_INFO, "re-mounted. Opts: %s", data);
return 0;
}

@@ -1249,6 +1265,7 @@ int fat_fill_super(struct super_block *sb, void *data, int silent,
unsigned int media;
long error;
char buf[50];
+ char *orig_data = kstrdup(data, GFP_KERNEL);

/*
* GFP_KERNEL is ok here, because while we do hold the
@@ -1502,6 +1519,9 @@ int fat_fill_super(struct super_block *sb, void *data, int silent,
goto out_fail;
}

+ fat_msg(sb, KERN_INFO, "Mounted. Opts: %s", orig_data);
+ kfree(orig_data);
+
return 0;

out_invalid:
--
1.7.1

--
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/