]> git.itanic.dy.fi Git - linux-stable/commitdiff
ext4: Drop special handling of journalled data from ext4_quota_on()
authorJan Kara <jack@suse.cz>
Wed, 29 Mar 2023 15:49:41 +0000 (17:49 +0200)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 14 Apr 2023 23:56:53 +0000 (19:56 -0400)
Now that ext4_writepages() makes sure all journalled data is committed
and checkpointed, sync_filesystem() call done by dquot_quota_on() is
enough for quota IO to see uptodate data. So drop special handling of
journalled data from ext4_quota_on().

Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20230329154950.19720-10-jack@suse.cz
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/super.c

index 54fb600bf51f9276e4e9c4ac737841e4143389b3..a876ebd534a8e4ab2f9624a8b31d14927823630f 100644 (file)
@@ -6881,23 +6881,6 @@ static int ext4_quota_on(struct super_block *sb, int type, int format_id,
                sb_dqopt(sb)->flags &= ~DQUOT_NOLIST_DIRTY;
        }
 
-       /*
-        * When we journal data on quota file, we have to flush journal to see
-        * all updates to the file when we bypass pagecache...
-        */
-       if (EXT4_SB(sb)->s_journal &&
-           ext4_should_journal_data(d_inode(path->dentry))) {
-               /*
-                * We don't need to lock updates but journal_flush() could
-                * otherwise be livelocked...
-                */
-               jbd2_journal_lock_updates(EXT4_SB(sb)->s_journal);
-               err = jbd2_journal_flush(EXT4_SB(sb)->s_journal, 0);
-               jbd2_journal_unlock_updates(EXT4_SB(sb)->s_journal);
-               if (err)
-                       return err;
-       }
-
        lockdep_set_quota_inode(path->dentry->d_inode, I_DATA_SEM_QUOTA);
        err = dquot_quota_on(sb, type, format_id, path);
        if (!err) {