Signed-off-by: Brian Foster <[email protected]>
---
 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 696f266febfe..c9f426905ef9 100644
--- a/fs/bcachefs/fs.c
+++ b/fs/bcachefs/fs.c
@@ -945,6 +945,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) +
@@ -965,8 +966,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));
        }
        start = iter.pos.offset;
        bch2_trans_iter_exit(trans, &iter);
-- 
2.42.0


Reply via email to