ext4: do not mark superblock as dirty unnecessarily
authorArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Thu, 22 Mar 2012 02:28:29 +0000 (22:28 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 22 Mar 2012 02:28:29 +0000 (22:28 -0400)
Commit a0375156ca1041574b5d47cc7e32f10b891151b0 cleaned up superblock
dirtying handling, but missed one place. This patch does what was
intended: if we have the journal, then we update the superblock
through the journal rather than doing this directly.

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/inode.c

index 39bb52c..c77b0bd 100644 (file)
@@ -3935,10 +3935,8 @@ static int ext4_do_update_inode(handle_t *handle,
                        ext4_update_dynamic_rev(sb);
                        EXT4_SET_RO_COMPAT_FEATURE(sb,
                                        EXT4_FEATURE_RO_COMPAT_LARGE_FILE);
-                       sb->s_dirt = 1;
                        ext4_handle_sync(handle);
-                       err = ext4_handle_dirty_metadata(handle, NULL,
-                                       EXT4_SB(sb)->s_sbh);
+                       err = ext4_handle_dirty_super(handle, sb);
                }
        }
        raw_inode->i_generation = cpu_to_le32(inode->i_generation);