Signed-off-by: Brian Foster <bfos...@redhat.com>
---
 fs/bcachefs/fs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/bcachefs/fs.c b/fs/bcachefs/fs.c
index f6cd14c9b38c..8b806e33c6c9 100644
--- a/fs/bcachefs/fs.c
+++ b/fs/bcachefs/fs.c
@@ -1011,6 +1011,7 @@ static int bch2_fiemap(struct inode *vinode, struct 
fiemap_extent_info *info,
                bch2_bkey_buf_realloc(&prev, c, k.k->u64s);
 
                sectors = min(sectors, k.k->size - offset_into_extent);
+               start = iter.pos.offset + sectors;
 
                bch2_cut_front(POS(k.k->p.inode,
                                   bkey_start_offset(k.k) +
@@ -1031,8 +1032,7 @@ static int bch2_fiemap(struct inode *vinode, struct 
fiemap_extent_info *info,
                bkey_copy(prev.k, cur.k);
                have_extent = true;
 
-               bch2_btree_iter_set_pos(&iter,
-                       POS(iter.pos.inode, iter.pos.offset + sectors));
+               bch2_btree_iter_set_pos(&iter, POS(iter.pos.inode, start));
 
                ret = bch2_trans_relock(trans);
                if (ret)
-- 
2.44.0


Reply via email to