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 <[email protected]>
---
fs/dax.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/dax.c b/fs/dax.c
index c48a3a93ab29..a5b4deb5def3 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -1274,6 +1274,7 @@ static s64 dax_unshare_iter(struct iomap_iter *iter)
ret = copy_mc_to_kernel(daddr, saddr, length);
if (ret)
ret = -EIO;
+ ret = length;
out_unlock:
dax_read_unlock(id);
--
2.39.1