[Devel] [PATCH vz10 v3 00/11] ext4: fix mfsync support

Pavel Tikhomirov ptikhomirov at virtuozzo.com
Mon Aug 25 06:18:50 MSK 2025



On 8/23/25 03:14, Konstantin Khorenko wrote:
> https://virtuozzo.atlassian.net/browse/VSTOR-107255
> Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
> 
> Pavel Tikhomirov (11):
>    ext4: minor cleanup in ext4_mfsync
>    ext4: remove unused datawriteback variable from ext4_sync_files
>    ext4: check nr_files early in ext4_sync_files
>    ext4: check journal early in ext4_sync_files
>    ext4: use ASSERT() instead of J_ASSERT() in ext4_sync_files
>    ext4: remove inode_lock from ext4_sync_files
>    ext4: force commit only for non-regular files in ext4_sync_files
>    ext4: use ext4_fc_commit in ext4_sync_files
>    ext4: improve error handling in ext4_sync_files
>    ext4: track writeback errors in ext4_sync_files
>    ext4: improve formatting in ext4_sync_files
> 
> v3 changes:
>    * just splitted patches into many small ones in order to easier review them
>    * added one more cleanup hunk:

Good catch, ack.

Also I see some bad comment stile now, maybe also merge:


@@ -251,7 +251,8 @@ int ext4_sync_files(struct file **files, unsigned 
int *flags, unsigned int nr_fi

         /* Ext4 specific stuff starts here */
         if (force_commit) {
-               /* data=journal:
+               /*
+                * 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.
@@ -272,7 +273,8 @@ int ext4_sync_files(struct file **files, unsigned 
int *flags, unsigned int nr_fi
                         need_barrier = true;

                 err2 = ext4_fc_commit(journal, commit_tid);
-               /* Even if we had to wait for commit completion, it does not
+               /*
+                * Even if we had to wait for commit completion, it does not
                  * mean a flush has been issued after data demanded by this
                  * fsync were written back. Commit could be in state after
                  * it is already done, but not yet in state where we should


With comment:

* Fix multi-line comment stile.

> 
> +++ b/fs/ext4/fsync.c
> @@ -205,7 +205,7 @@ int ext4_sync_files(struct file **files, unsigned int *flags, unsigned int nr_fi
>          for (i = 0; i < nr_files; i++) {
> -               struct address_space * mapping = files[i]->f_mapping;
> +               struct address_space *mapping = files[i]->f_mapping;
> 
> i understand that all those patches are "Fixes: ...", so they will be merged,
> but as i've done this anyway for the review - sending them to the mailing list.

Yes, we should merge it all into original "Fixes" commit, but I left it 
as separate patch for now as there are just too much changes to merge 
them without explicit review. And thanks for review!

> 
>   fs/ext4/fsync.c | 49 +++++++++++++++++++++++++++++--------------------
>   fs/ext4/ioctl.c |  8 +++++---
>   2 files changed, 34 insertions(+), 23 deletions(-)
> 

-- 
Best regards, Pavel Tikhomirov
Senior Software Developer, Virtuozzo.



More information about the Devel mailing list