btrfs: sink calc_bio_boundaries into its only caller
authorJohannes Thumshirn <johannes.thumshirn@wdc.com>
Tue, 21 Feb 2023 16:21:04 +0000 (08:21 -0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 17 Apr 2023 16:01:16 +0000 (18:01 +0200)
Nowadays calc_bio_boundaries() is a relatively simple function that only
guarantees the one bio equals to one ordered extent rule for uncompressed
Zone Append bios.

Sink it into it's only caller alloc_new_bio().

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c

index ce37bf9..924fcb6 100644 (file)
@@ -898,10 +898,19 @@ static bool btrfs_bio_is_contig(struct btrfs_bio_ctrl *bio_ctrl,
                page_offset(page) + pg_offset;
 }
 
-static void calc_bio_boundaries(struct btrfs_bio_ctrl *bio_ctrl,
-                               struct btrfs_inode *inode, u64 file_offset)
+static void alloc_new_bio(struct btrfs_inode *inode,
+                         struct btrfs_bio_ctrl *bio_ctrl,
+                         u64 disk_bytenr, u64 file_offset)
 {
-       struct btrfs_ordered_extent *ordered;
+       struct btrfs_fs_info *fs_info = inode->root->fs_info;
+       struct bio *bio;
+
+       bio = btrfs_bio_alloc(BIO_MAX_VECS, bio_ctrl->opf, inode,
+                             bio_ctrl->end_io_func, NULL);
+       bio->bi_iter.bi_sector = disk_bytenr >> SECTOR_SHIFT;
+       btrfs_bio(bio)->file_offset = file_offset;
+       bio_ctrl->bio = bio;
+       bio_ctrl->len_to_oe_boundary = U32_MAX;
 
        /*
         * Limit the extent to the ordered boundary for Zone Append.
@@ -909,34 +918,18 @@ static void calc_bio_boundaries(struct btrfs_bio_ctrl *bio_ctrl,
         * them.
         */
        if (bio_ctrl->compress_type == BTRFS_COMPRESS_NONE &&
-           btrfs_use_zone_append(btrfs_bio(bio_ctrl->bio))) {
+           btrfs_use_zone_append(btrfs_bio(bio))) {
+               struct btrfs_ordered_extent *ordered;
+
                ordered = btrfs_lookup_ordered_extent(inode, file_offset);
                if (ordered) {
                        bio_ctrl->len_to_oe_boundary = min_t(u32, U32_MAX,
                                        ordered->file_offset +
                                        ordered->disk_num_bytes - file_offset);
                        btrfs_put_ordered_extent(ordered);
-                       return;
                }
        }
 
-       bio_ctrl->len_to_oe_boundary = U32_MAX;
-}
-
-static void alloc_new_bio(struct btrfs_inode *inode,
-                         struct btrfs_bio_ctrl *bio_ctrl,
-                         u64 disk_bytenr, u64 file_offset)
-{
-       struct btrfs_fs_info *fs_info = inode->root->fs_info;
-       struct bio *bio;
-
-       bio = btrfs_bio_alloc(BIO_MAX_VECS, bio_ctrl->opf, inode,
-                             bio_ctrl->end_io_func, NULL);
-       bio->bi_iter.bi_sector = disk_bytenr >> SECTOR_SHIFT;
-       btrfs_bio(bio)->file_offset = file_offset;
-       bio_ctrl->bio = bio;
-       calc_bio_boundaries(bio_ctrl, inode, file_offset);
-
        if (bio_ctrl->wbc) {
                /*
                 * Pick the last added device to support cgroup writeback.  For