Commit f8f5ed7c authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'dev' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4

* 'dev' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: fix up a undefined error in ext4_free_blocks in debugging code
  ext4: add blk_finish_plug in error case of writepages.
  ext4: Remove kernel_lock annotations
  ext4: ignore journalled data options on remount if fs has no journal
parents c292fe4a 6e58ad69
...@@ -565,7 +565,7 @@ ext4_fsblk_t ext4_count_free_clusters(struct super_block *sb) ...@@ -565,7 +565,7 @@ ext4_fsblk_t ext4_count_free_clusters(struct super_block *sb)
brelse(bitmap_bh); brelse(bitmap_bh);
printk(KERN_DEBUG "ext4_count_free_clusters: stored = %llu" printk(KERN_DEBUG "ext4_count_free_clusters: stored = %llu"
", computed = %llu, %llu\n", ", computed = %llu, %llu\n",
EXT4_B2C(sbi, ext4_free_blocks_count(es)), EXT4_B2C(EXT4_SB(sb), ext4_free_blocks_count(es)),
desc_count, bitmap_count); desc_count, bitmap_count);
return bitmap_count; return bitmap_count;
#else #else
......
...@@ -2270,6 +2270,7 @@ static int ext4_da_writepages(struct address_space *mapping, ...@@ -2270,6 +2270,7 @@ static int ext4_da_writepages(struct address_space *mapping,
ext4_msg(inode->i_sb, KERN_CRIT, "%s: jbd2_start: " ext4_msg(inode->i_sb, KERN_CRIT, "%s: jbd2_start: "
"%ld pages, ino %lu; err %d", __func__, "%ld pages, ino %lu; err %d", __func__,
wbc->nr_to_write, inode->i_ino, ret); wbc->nr_to_write, inode->i_ino, ret);
blk_finish_plug(&plug);
goto out_writepages; goto out_writepages;
} }
......
...@@ -1683,7 +1683,9 @@ static int parse_options(char *options, struct super_block *sb, ...@@ -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) ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment