Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa41045f authored by Mark Fasheh's avatar Mark Fasheh
Browse files

ocfs2: Use do_sync_mapping_range() in ocfs2_zero_tail_for_truncate()



Do this instead of filemap_fdatawrite() - this way we sync only the
range between i_size and the cluster boundary.

Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
parent 5b04aa3a
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -3517,6 +3517,7 @@ int ocfs2_zero_tail_for_truncate(struct inode *inode, handle_t *handle,
				 u64 new_i_size)
{
	int ret, numpages;
	loff_t endbyte;
	struct page **pages = NULL;
	u64 phys;

@@ -3555,7 +3556,9 @@ int ocfs2_zero_tail_for_truncate(struct inode *inode, handle_t *handle,
	 * wait on them - the truncate_inode_pages() call later will
	 * do that for us.
	 */
	ret = filemap_fdatawrite(inode->i_mapping);
	endbyte = ocfs2_align_bytes_to_clusters(inode->i_sb, new_i_size);
	ret = do_sync_mapping_range(inode->i_mapping, new_i_size,
				    endbyte - 1, SYNC_FILE_RANGE_WRITE);
	if (ret)
		mlog_errno(ret);