diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-08-28 12:41:45 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:26 -0400 |
commit | 05cf02b5a10ae9b60aad4b1fe4049eb4e7603b4f (patch) | |
tree | 8ad8d053247db715295d034e3b22ee114c471191 /fs | |
parent | 9940a791ea24876d09116ac503045fb3390aebd2 (diff) |
bcachefs: Fix fiemap (again)
when iterating over reflink pointers, we use the key we just emitted to
set the iterator position - which means we have to be setting the key's
inode field as well
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/bcachefs/fs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/bcachefs/fs.c b/fs/bcachefs/fs.c index ffd9b386a14d..0ba498505b07 100644 --- a/fs/bcachefs/fs.c +++ b/fs/bcachefs/fs.c @@ -1249,7 +1249,8 @@ retry: offset_into_extent), &cur.k); bch2_key_resize(&cur.k.k, sectors); - cur.k.k.p.offset = iter->pos.offset + cur.k.k.size; + cur.k.k.p = iter->pos; + cur.k.k.p.offset += cur.k.k.size; if (have_extent) { ret = bch2_fill_extent(c, info, |