summaryrefslogtreecommitdiff
path: root/fs/btrfs/inode.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2023-05-24 17:03:17 +0200
committerDavid Sterba <dsterba@suse.com>2023-06-19 13:59:33 +0200
commitf000bc6fe43ce66c55fa1691000115b14ba95b33 (patch)
tree4840c87e4fb29c9315a4dfc787ec529d9d02c7f0 /fs/btrfs/inode.c
parent71df088c1cc090d232eb691d8f42284a2c6409eb (diff)
btrfs: pass the new logical address to split_extent_map
split_extent_map splits off the first chunk of an extent map into a new one. One of the two users is the zoned I/O completion code that wants to rewrite the logical block start address right after this split. Pass in the logical address to be set in the split off first extent_map as an argument to avoid an extra extent tree lookup for this case. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r--fs/btrfs/inode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index ff3110a2b4e6..b8c64882a1e7 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -2736,7 +2736,8 @@ static int btrfs_extract_ordered_extent(struct btrfs_bio *bbio,
*/
if (!test_bit(BTRFS_ORDERED_NOCOW, &ordered->flags)) {
ret = split_extent_map(bbio->inode, bbio->file_offset,
- ordered->num_bytes, len);
+ ordered->num_bytes, len,
+ ordered->disk_bytenr);
if (ret)
return ret;
}