diff --git a/fs/dax.c b/fs/dax.c index 7ecad1a28a89..8b1c371d6b28 100644 --- a/fs/dax.c +++ b/fs/dax.c @@ -1247,8 +1247,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: