Lines Matching refs:bio_ctrl

108 static void submit_one_bio(struct btrfs_bio_ctrl *bio_ctrl)  in submit_one_bio()  argument
110 struct btrfs_bio *bbio = bio_ctrl->bbio; in submit_one_bio()
119 bio_ctrl->compress_type != BTRFS_COMPRESS_NONE) in submit_one_bio()
125 bio_ctrl->bbio = NULL; in submit_one_bio()
131 static void submit_write_bio(struct btrfs_bio_ctrl *bio_ctrl, int ret) in submit_write_bio() argument
133 struct btrfs_bio *bbio = bio_ctrl->bbio; in submit_write_bio()
142 bio_ctrl->bbio = NULL; in submit_write_bio()
144 submit_one_bio(bio_ctrl); in submit_write_bio()
706 static bool btrfs_bio_is_contig(struct btrfs_bio_ctrl *bio_ctrl, in btrfs_bio_is_contig() argument
710 struct bio *bio = &bio_ctrl->bbio->bio; in btrfs_bio_is_contig()
714 if (bio_ctrl->compress_type != BTRFS_COMPRESS_NONE) { in btrfs_bio_is_contig()
739 struct btrfs_bio_ctrl *bio_ctrl, in alloc_new_bio() argument
745 bbio = btrfs_bio_alloc(BIO_MAX_VECS, bio_ctrl->opf, fs_info, in alloc_new_bio()
746 bio_ctrl->end_io_func, NULL); in alloc_new_bio()
750 bio_ctrl->bbio = bbio; in alloc_new_bio()
751 bio_ctrl->len_to_oe_boundary = U32_MAX; in alloc_new_bio()
754 if (bio_ctrl->wbc) { in alloc_new_bio()
759 bio_ctrl->len_to_oe_boundary = min_t(u32, U32_MAX, in alloc_new_bio()
772 wbc_init_bio(bio_ctrl->wbc, &bbio->bio); in alloc_new_bio()
788 static void submit_extent_page(struct btrfs_bio_ctrl *bio_ctrl, in submit_extent_page() argument
795 ASSERT(bio_ctrl->end_io_func); in submit_extent_page()
797 if (bio_ctrl->bbio && in submit_extent_page()
798 !btrfs_bio_is_contig(bio_ctrl, page, disk_bytenr, pg_offset)) in submit_extent_page()
799 submit_one_bio(bio_ctrl); in submit_extent_page()
805 if (!bio_ctrl->bbio) { in submit_extent_page()
806 alloc_new_bio(inode, bio_ctrl, disk_bytenr, in submit_extent_page()
811 if (len > bio_ctrl->len_to_oe_boundary) { in submit_extent_page()
812 ASSERT(bio_ctrl->compress_type == BTRFS_COMPRESS_NONE); in submit_extent_page()
814 len = bio_ctrl->len_to_oe_boundary; in submit_extent_page()
817 if (bio_add_page(&bio_ctrl->bbio->bio, page, len, pg_offset) != len) { in submit_extent_page()
819 submit_one_bio(bio_ctrl); in submit_extent_page()
823 if (bio_ctrl->wbc) in submit_extent_page()
824 wbc_account_cgroup_owner(bio_ctrl->wbc, page, len); in submit_extent_page()
851 if (bio_ctrl->len_to_oe_boundary != U32_MAX) in submit_extent_page()
852 bio_ctrl->len_to_oe_boundary -= len; in submit_extent_page()
855 if (bio_ctrl->len_to_oe_boundary == 0) in submit_extent_page()
856 submit_one_bio(bio_ctrl); in submit_extent_page()
968 struct btrfs_bio_ctrl *bio_ctrl, u64 *prev_em_start) in btrfs_do_readpage() argument
1000 bio_ctrl->end_io_func = end_bio_extent_readpage; in btrfs_do_readpage()
1103 if (bio_ctrl->compress_type != compress_type) { in btrfs_do_readpage()
1104 submit_one_bio(bio_ctrl); in btrfs_do_readpage()
1105 bio_ctrl->compress_type = compress_type; in btrfs_do_readpage()
1109 submit_one_bio(bio_ctrl); in btrfs_do_readpage()
1110 submit_extent_page(bio_ctrl, disk_bytenr, page, iosize, in btrfs_do_readpage()
1125 struct btrfs_bio_ctrl bio_ctrl = { .opf = REQ_OP_READ }; in btrfs_read_folio() local
1130 ret = btrfs_do_readpage(page, NULL, &bio_ctrl, NULL); in btrfs_read_folio()
1135 submit_one_bio(&bio_ctrl); in btrfs_read_folio()
1142 struct btrfs_bio_ctrl *bio_ctrl, in contiguous_readpages() argument
1151 btrfs_do_readpage(pages[index], em_cached, bio_ctrl, in contiguous_readpages()
1283 struct btrfs_bio_ctrl *bio_ctrl, in __extent_writepage_io() argument
1299 redirty_page_for_writepage(bio_ctrl->wbc, page); in __extent_writepage_io()
1304 bio_ctrl->end_io_func = end_bio_extent_writepage; in __extent_writepage_io()
1378 submit_extent_page(bio_ctrl, disk_bytenr, page, iosize, in __extent_writepage_io()
1406 static int __extent_writepage(struct page *page, struct btrfs_bio_ctrl *bio_ctrl) in __extent_writepage() argument
1417 trace___extent_writepage(page, inode, bio_ctrl->wbc); in __extent_writepage()
1436 ret = writepage_delalloc(BTRFS_I(inode), page, bio_ctrl->wbc); in __extent_writepage()
1442 ret = __extent_writepage_io(BTRFS_I(inode), page, bio_ctrl, i_size, &nr); in __extent_writepage()
1446 bio_ctrl->wbc->nr_to_write--; in __extent_writepage()
1995 struct btrfs_bio_ctrl *bio_ctrl) in extent_write_cache_pages() argument
1997 struct writeback_control *wbc = bio_ctrl->wbc; in extent_write_cache_pages()
2077 submit_write_bio(bio_ctrl, 0); in extent_write_cache_pages()
2094 submit_write_bio(bio_ctrl, 0); in extent_write_cache_pages()
2104 ret = __extent_writepage(&folio->page, bio_ctrl); in extent_write_cache_pages()
2135 submit_write_bio(bio_ctrl, 0); in extent_write_cache_pages()
2162 struct btrfs_bio_ctrl bio_ctrl = { in extent_write_locked_range() local
2168 bio_ctrl.opf |= REQ_BTRFS_CGROUP_PUNT; in extent_write_locked_range()
2185 ret = __extent_writepage_io(BTRFS_I(inode), page, &bio_ctrl, in extent_write_locked_range()
2208 submit_write_bio(&bio_ctrl, found_error ? ret : 0); in extent_write_locked_range()
2216 struct btrfs_bio_ctrl bio_ctrl = { in extent_writepages() local
2226 ret = extent_write_cache_pages(mapping, &bio_ctrl); in extent_writepages()
2227 submit_write_bio(&bio_ctrl, ret); in extent_writepages()
2234 struct btrfs_bio_ctrl bio_ctrl = { .opf = REQ_OP_READ | REQ_RAHEAD }; in extent_readahead() local
2245 &em_cached, &bio_ctrl, &prev_em_start); in extent_readahead()
2250 submit_one_bio(&bio_ctrl); in extent_readahead()