Skip to content

Commit 9ba439c

Browse files
Brian Fosterbrauner
authored andcommitted
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: Brian Foster <bfoster@redhat.com> Link: https://lore.kernel.org/r/20250224144757.237706-8-bfoster@redhat.com Reviewed-by: "Darrick J. Wong" <djwong@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
1 parent 80fce30 commit 9ba439c

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

fs/dax.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1266,11 +1266,11 @@ static s64 dax_unshare_iter(struct iomap_iter *iter)
12661266
u64 copy_len = iomap_length(iter);
12671267
u32 mod;
12681268
int id = 0;
1269-
s64 ret = 0;
1269+
s64 ret = iomap_length(iter);
12701270
void *daddr = NULL, *saddr = NULL;
12711271

12721272
if (!iomap_want_unshare_iter(iter))
1273-
return iomap_length(iter);
1273+
return iomap_iter_advance(iter, &ret);
12741274

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

13081308
out_unlock:
13091309
dax_read_unlock(id);
1310-
return dax_mem2blk_err(ret);
1310+
if (ret < 0)
1311+
return dax_mem2blk_err(ret);
1312+
return iomap_iter_advance(iter, &ret);
13111313
}
13121314

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

0 commit comments

Comments
 (0)