Unverified Commit 9ba439cb authored by Brian Foster's avatar Brian Foster Committed by Christian Brauner
Browse files

dax: advance the iomap_iter on unshare range



Advance the iter and return 0 or an error code for success or
failure.

Signed-off-by: default avatarBrian Foster <bfoster@redhat.com>
Link: https://lore.kernel.org/r/20250224144757.237706-8-bfoster@redhat.com


Reviewed-by: default avatar"Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 80fce305
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1266,11 +1266,11 @@ static s64 dax_unshare_iter(struct iomap_iter *iter)
	u64 copy_len = iomap_length(iter);
	u32 mod;
	int id = 0;
	s64 ret = 0;
	s64 ret = iomap_length(iter);
	void *daddr = NULL, *saddr = NULL;

	if (!iomap_want_unshare_iter(iter))
		return iomap_length(iter);
		return iomap_iter_advance(iter, &ret);

	/*
	 * Extend the file range to be aligned to fsblock/pagesize, because
@@ -1307,7 +1307,9 @@ static s64 dax_unshare_iter(struct iomap_iter *iter)

out_unlock:
	dax_read_unlock(id);
	if (ret < 0)
		return dax_mem2blk_err(ret);
	return iomap_iter_advance(iter, &ret);
}

int dax_file_unshare(struct inode *inode, loff_t pos, loff_t len,