2009-09-30 06:52:32

by Toshiyuki Okajima

[permalink] [raw]
Subject: [PATCH 1/3][RFC](Repost) ext2: add a message in mount/remount/umount for ext2

From: Toshiyuki Okajima <[email protected]>

ext2 doesn't log a record of having mounted, remounted and unmounted the
filesystem. Therefore in the system log, we cannot judge whether or not at
the certain time this filesystem user touches it.
For enterprise users, they often want to know when a certain filesystem is
mounted/remounted/unmounted.

So, we output the message to the system log when the filesystem is
mounted/remounted/unmounted.

Signed-off-by: Toshiyuki Okajima <[email protected]>
---
fs/ext2/super.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)

diff -Nurp linux-2.6.31.orig/fs/ext2/super.c linux-2.6.31/fs/ext2/super.c
--- linux-2.6.31.orig/fs/ext2/super.c 2009-09-10 07:13:59.000000000 +0900
+++ linux-2.6.31/fs/ext2/super.c 2009-09-16 14:44:06.000000000 +0900
@@ -109,6 +109,18 @@ void ext2_update_dynamic_rev(struct supe
*/
}

+static void ext2_print_mount_message(struct super_block *sb,
+ int is_remount)
+{
+ printk(KERN_INFO "EXT2 FS %s on %s\n",
+ is_remount? "remounted": "mounted", sb->s_id);
+}
+
+static void ext2_print_umount_message(struct super_block *sb)
+{
+ printk(KERN_INFO "EXT2 FS unmounted from %s\n", sb->s_id);
+}
+
static void ext2_put_super (struct super_block * sb)
{
int db_count;
@@ -140,6 +152,7 @@ static void ext2_put_super (struct super
sb->s_fs_info = NULL;
kfree(sbi->s_blockgroup_lock);
kfree(sbi);
+ ext2_print_umount_message(sb);

unlock_kernel();
}
@@ -1063,6 +1076,7 @@ static int ext2_fill_super(struct super_
ext2_warning(sb, __func__,
"mounting ext3 filesystem as ext2");
ext2_setup_super (sb, es, sb->s_flags & MS_RDONLY);
+ ext2_print_mount_message(sb, 0);
return 0;

cantfind_ext2:
@@ -1232,6 +1246,7 @@ static int ext2_remount (struct super_bl
sb->s_flags &= ~MS_RDONLY;
}
ext2_sync_super(sb, es);
+ ext2_print_mount_message(sb, 1);
unlock_kernel();
return 0;
restore_opts: