]> xenbits.xensource.com Git - people/pauldu/linux.git/commitdiff
ext4: Drop special handling of journalled data from ext4_sync_file()
authorJan Kara <jack@suse.cz>
Wed, 29 Mar 2023 15:49:37 +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() make sure all pages with journalled data are
stable on disk, we don't need special handling of journalled data in
ext4_sync_file().

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

index 027a7d7037a07b3647da6ece56e5bca568503db3..f65fdb27ce141a6f8e0c07a1574a14a1fb75a65c 100644 (file)
@@ -153,23 +153,12 @@ int ext4_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
                goto out;
 
        /*
-        * data=writeback,ordered:
         *  The caller's filemap_fdatawrite()/wait will sync the data.
         *  Metadata is in the journal, we wait for proper transaction to
         *  commit here.
-        *
-        * data=journal:
-        *  filemap_fdatawrite won't do anything (the buffers are clean).
-        *  ext4_force_commit will write the file data into the journal and
-        *  will wait on that.
-        *  filemap_fdatawait() will encounter a ton of newly-dirtied pages
-        *  (they were dirtied by commit).  But that's OK - the blocks are
-        *  safe in-journal, which is all fsync() needs to ensure.
         */
        if (!sbi->s_journal)
                ret = ext4_fsync_nojournal(inode, datasync, &needs_barrier);
-       else if (ext4_should_journal_data(inode))
-               ret = ext4_force_commit(inode->i_sb);
        else
                ret = ext4_fsync_journal(inode, datasync, &needs_barrier);