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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Nov 2023 13:10:58 +0000 (14:10 +0100)
[ Upstream commit 06ccfb00645990a9fcc14249e6d1c25921ecb836 ]

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/ntfs3/fsntfs.c

index 9c0fc3a..873b143 100644 (file)
@@ -953,18 +953,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;
 }