diff mbox series

[v2] fsdax: dax_unshare_iter() should return a valid length

Message ID 1675388906-50-1-git-send-email-ruansy.fnst@fujitsu.com (mailing list archive)
State Accepted
Commit 388bc034d91d480efa88abc5c8d6e6c8a878b1ab
Headers show
Series [v2] fsdax: dax_unshare_iter() should return a valid length | expand

Commit Message

Shiyang Ruan Feb. 3, 2023, 1:48 a.m. UTC
The copy_mc_to_kernel() will return 0 if it executed successfully.
Then the return value should be set to the length it copied.

Fixes: d984648e428b ("fsdax,xfs: port unshare to fsdax")
Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
---
 fs/dax.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/fs/dax.c b/fs/dax.c
index c48a3a93ab29..3e457a16c7d1 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -1271,8 +1271,9 @@  static s64 dax_unshare_iter(struct iomap_iter *iter)
 	if (ret < 0)
 		goto out_unlock;
 
-	ret = copy_mc_to_kernel(daddr, saddr, length);
-	if (ret)
+	if (copy_mc_to_kernel(daddr, saddr, length) == 0)
+		ret = length;
+	else
 		ret = -EIO;
 
 out_unlock: