]> Pileus Git - ~andy/linux/blobdiff - fs/ext3/super.c
Merge tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[~andy/linux] / fs / ext3 / super.c
index 8c3a44b7c375247f54ac0d0e61be3be99e0b1d6a..ff9bcdc5b0d5a7b5f210723092716e9e0f32937c 100644 (file)
@@ -2058,7 +2058,8 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent)
                goto failed_mount3;
        }
 
-       ext3_setup_super (sb, es, sb->s_flags & MS_RDONLY);
+       if (ext3_setup_super(sb, es, sb->s_flags & MS_RDONLY))
+               sb->s_flags |= MS_RDONLY;
 
        EXT3_SB(sb)->s_mount_state |= EXT3_ORPHAN_FS;
        ext3_orphan_cleanup(sb, es);
@@ -2526,6 +2527,11 @@ static int ext3_sync_fs(struct super_block *sb, int wait)
        tid_t target;
 
        trace_ext3_sync_fs(sb, wait);
+       /*
+        * Writeback quota in non-journalled quota case - journalled quota has
+        * no dirty dquots
+        */
+       dquot_writeback_dquots(sb, -1);
        if (journal_start_commit(EXT3_SB(sb)->s_journal, &target)) {
                if (wait)
                        log_wait_commit(EXT3_SB(sb)->s_journal, target);