This adds a "re-mounted" message to ext4_remount(), and both it and the
mount message in ext4_fill_super() now have the original data string.
Signed-off-by: Curt Wohlgemuth <[email protected]>
---
We've found that printing the original data string is very helpful in
disambiguating mount messages, especially as remounts are done to change
mount options.
diff -uprN orig/fs/ext4/super.c new/fs/ext4/super.c
--- orig/fs/ext4/super.c 2010-05-04 08:31:43.000000000 -0700
+++ new/fs/ext4/super.c 2010-05-04 08:36:28.000000000 -0700
@@ -2430,6 +2430,7 @@ static int ext4_fill_super(struct super_
__releases(kernel_lock)
__acquires(kernel_lock)
{
+ char *orig_data = kstrdup(data, GFP_KERNEL);
struct buffer_head *bh;
struct ext4_super_block *es = NULL;
struct ext4_sb_info *sbi;
@@ -3040,9 +3041,12 @@ no_journal:
} else
descr = "out journal";
- ext4_msg(sb, KERN_INFO, "mounted filesystem with%s", descr);
+ ext4_msg(sb, KERN_INFO, "mounted filesystem with%s. "
+ "Opts: %s", descr, orig_data);
lock_kernel();
+ if (orig_data)
+ kfree(orig_data);
return 0;
cantfind_ext4:
@@ -3089,6 +3093,8 @@ out_fail:
kfree(sbi->s_blockgroup_lock);
kfree(sbi);
lock_kernel();
+ if (orig_data)
+ kfree(orig_data);
return ret;
}
@@ -3580,6 +3586,7 @@ static int ext4_remount(struct super_blo
#ifdef CONFIG_QUOTA
int i;
#endif
+ char *orig_data = kstrdup(data, GFP_KERNEL);
lock_kernel();
@@ -3713,6 +3720,9 @@ static int ext4_remount(struct super_blo
#endif
unlock_super(sb);
unlock_kernel();
+
+ ext4_msg(sb, KERN_INFO, "re-mounted. Opts: %s", orig_data);
+ kfree(orig_data);
return 0;
restore_opts:
@@ -3734,6 +3744,8 @@ restore_opts:
#endif
unlock_super(sb);
unlock_kernel();
+ if (orig_data)
+ kfree(orig_data);
return err;
}
On Tue, May 04, 2010 at 08:57:02AM -0700, Curt Wohlgemuth wrote:
> This adds a "re-mounted" message to ext4_remount(), and both it and the
> mount message in ext4_fill_super() now have the original data string.
>
>Signed-off-by: Curt Wohlgemuth <[email protected]>
Added to the ext4 patch queue
- Ted