fs/ntfs3: Write immediately updated ntfs state
authorKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Fri, 30 Jun 2023 11:57:19 +0000 (15:57 +0400)
committerKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Thu, 28 Sep 2023 12:03:56 +0000 (15:03 +0300)
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
fs/ntfs3/fsntfs.c

index 33afee0f55593a92ff40315262ac4524a152eb40..edb51dc12f65f62dffd7f1a12a547db6169fac3f 100644 (file)
@@ -983,18 +983,11 @@ out:
        if (err)
                return err;
 
-       mark_inode_dirty(&ni->vfs_inode);
+       mark_inode_dirty_sync(&ni->vfs_inode);
        /* verify(!ntfs_update_mftmirr()); */
 
-       /*
-        * If we used wait=1, sync_inode_metadata waits for the io for the
-        * inode to finish. It hangs when media is removed.
-        * So wait=0 is sent down to sync_inode_metadata
-        * and filemap_fdatawrite is used for the data blocks.
-        */
-       err = sync_inode_metadata(&ni->vfs_inode, 0);
-       if (!err)
-               err = filemap_fdatawrite(ni->vfs_inode.i_mapping);
+       /* write mft record on disk. */
+       err = _ni_write_inode(&ni->vfs_inode, 1);
 
        return err;
 }