Unverified Commit 06ccfb00 authored by Konstantin Komarov's avatar Konstantin Komarov
Browse files

fs/ntfs3: Write immediately updated ntfs state

parent 87d1888a
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -983,18 +983,11 @@ int ntfs_set_state(struct ntfs_sb_info *sbi, enum NTFS_DIRTY_FLAGS dirty)
	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;
}