|
@@ -1683,7 +1683,9 @@ static int parse_options(char *options, struct super_block *sb,
|
|
data_opt = EXT4_MOUNT_WRITEBACK_DATA;
|
|
data_opt = EXT4_MOUNT_WRITEBACK_DATA;
|
|
datacheck:
|
|
datacheck:
|
|
if (is_remount) {
|
|
if (is_remount) {
|
|
- if (test_opt(sb, DATA_FLAGS) != data_opt) {
|
|
|
|
|
|
+ if (!sbi->s_journal)
|
|
|
|
+ ext4_msg(sb, KERN_WARNING, "Remounting file system with no journal so ignoring journalled data option");
|
|
|
|
+ else if (test_opt(sb, DATA_FLAGS) != data_opt) {
|
|
ext4_msg(sb, KERN_ERR,
|
|
ext4_msg(sb, KERN_ERR,
|
|
"Cannot change data mode on remount");
|
|
"Cannot change data mode on remount");
|
|
return 0;
|
|
return 0;
|
|
@@ -3099,8 +3101,6 @@ static void ext4_destroy_lazyinit_thread(void)
|
|
}
|
|
}
|
|
|
|
|
|
static int ext4_fill_super(struct super_block *sb, void *data, int silent)
|
|
static int ext4_fill_super(struct super_block *sb, void *data, int silent)
|
|
- __releases(kernel_lock)
|
|
|
|
- __acquires(kernel_lock)
|
|
|
|
{
|
|
{
|
|
char *orig_data = kstrdup(data, GFP_KERNEL);
|
|
char *orig_data = kstrdup(data, GFP_KERNEL);
|
|
struct buffer_head *bh;
|
|
struct buffer_head *bh;
|