Home
last modified time | relevance | path

Searched refs:bbio (Results 1 – 24 of 24) sorted by relevance

/linux/fs/btrfs/
H A Dbio.c24 struct btrfs_bio *bbio; member
30 static inline bool is_data_bbio(const struct btrfs_bio *bbio) in is_data_bbio() argument
32 return bbio->inode && is_data_inode(bbio->inode); in is_data_bbio()
35 static bool bbio_has_ordered_extent(const struct btrfs_bio *bbio) in bbio_has_ordered_extent() argument
37 return is_data_bbio(bbio) && btrfs_op(&bbio->bio) == BTRFS_MAP_WRITE; in bbio_has_ordered_extent()
44 void btrfs_bio_init(struct btrfs_bio *bbio, struct btrfs_inode *inode, u64 file_offset, in btrfs_bio_init() argument
50 memset(bbio, 0, offsetof(struct btrfs_bio, bio)); in btrfs_bio_init()
51 bbio->inode = inode; in btrfs_bio_init()
52 bbio->end_io = end_io; in btrfs_bio_init()
53 bbio->private = private; in btrfs_bio_init()
[all …]
H A Dfile-item.c346 int btrfs_lookup_bio_sums(struct btrfs_bio *bbio) in btrfs_lookup_bio_sums() argument
348 struct btrfs_inode *inode = bbio->inode; in btrfs_lookup_bio_sums()
350 struct bio *bio = &bbio->bio; in btrfs_lookup_bio_sums()
382 bbio->csum = kvcalloc(nblocks, csum_size, GFP_NOFS); in btrfs_lookup_bio_sums()
383 if (!bbio->csum) in btrfs_lookup_bio_sums()
386 bbio->csum = bbio->csum_inline; in btrfs_lookup_bio_sums()
431 if (bbio->csum_search_commit_root) { in btrfs_lookup_bio_sums()
440 u8 *csum_dst = bbio->csum + in btrfs_lookup_bio_sums()
447 if (bbio->csum != bbio->csum_inline) in btrfs_lookup_bio_sums()
448 kvfree(bbio->csum); in btrfs_lookup_bio_sums()
[all …]
H A Dcompression.c56 static inline struct compressed_bio *to_compressed_bio(struct btrfs_bio *bbio) in to_compressed_bio() argument
58 return container_of(bbio, struct compressed_bio, bbio); in to_compressed_bio()
65 struct btrfs_bio *bbio; in alloc_compressed_bio() local
67 bbio = btrfs_bio(bio_alloc_bioset(NULL, BTRFS_MAX_COMPRESSED_PAGES, op, in alloc_compressed_bio()
69 btrfs_bio_init(bbio, inode, start, end_io, NULL); in alloc_compressed_bio()
70 return to_compressed_bio(bbio); in alloc_compressed_bio()
231 static void end_bbio_compressed_read(struct btrfs_bio *bbio) in end_bbio_compressed_read() argument
233 struct compressed_bio *cb = to_compressed_bio(bbio); in end_bbio_compressed_read()
234 blk_status_t status = bbio->bio.bi_status; in end_bbio_compressed_read()
241 bio_for_each_folio_all(fi, &bbio->bio) in end_bbio_compressed_read()
[all …]
H A Ddirect-io.c30 struct btrfs_bio bbio; member
645 static void btrfs_dio_end_io(struct btrfs_bio *bbio) in btrfs_dio_end_io() argument
648 container_of(bbio, struct btrfs_dio_private, bbio); in btrfs_dio_end_io()
649 struct btrfs_inode *inode = bbio->inode; in btrfs_dio_end_io()
650 struct bio *bio = &bbio->bio; in btrfs_dio_end_io()
660 btrfs_finish_ordered_extent(bbio->ordered, NULL, in btrfs_dio_end_io()
668 bbio->bio.bi_private = bbio->private; in btrfs_dio_end_io()
672 static int btrfs_extract_ordered_extent(struct btrfs_bio *bbio, in btrfs_extract_ordered_extent() argument
675 u64 start = (u64)bbio->bio.bi_iter.bi_sector << SECTOR_SHIFT; in btrfs_extract_ordered_extent()
676 u64 len = bbio->bio.bi_iter.bi_size; in btrfs_extract_ordered_extent()
[all …]
H A Dscrub.c890 static void scrub_repair_read_endio(struct btrfs_bio *bbio) in scrub_repair_read_endio() argument
892 struct scrub_stripe *stripe = bbio->private; in scrub_repair_read_endio()
895 int sector_nr = calc_sector_number(stripe, bio_first_bvec_all(&bbio->bio)); in scrub_repair_read_endio()
901 bio_for_each_bvec_all(bvec, &bbio->bio, i) in scrub_repair_read_endio()
904 if (bbio->bio.bi_status) { in scrub_repair_read_endio()
913 bio_put(&bbio->bio); in scrub_repair_read_endio()
924 static void scrub_bio_add_sector(struct btrfs_bio *bbio, struct scrub_stripe *stripe, in scrub_bio_add_sector() argument
927 struct btrfs_fs_info *fs_info = bbio->inode->root->fs_info; in scrub_bio_add_sector()
931 ret = bio_add_page(&bbio->bio, virt_to_page(kaddr), fs_info->sectorsize, in scrub_bio_add_sector()
949 struct btrfs_bio *bbio; in alloc_scrub_bbio() local
[all …]
H A Dbio.h21 typedef void (*btrfs_bio_end_io_t)(struct btrfs_bio *bbio);
117 void btrfs_bio_init(struct btrfs_bio *bbio, struct btrfs_inode *inode, u64 file_offset,
122 void btrfs_bio_end_io(struct btrfs_bio *bbio, blk_status_t status);
127 void btrfs_submit_bbio(struct btrfs_bio *bbio, int mirror_num);
128 void btrfs_submit_repair_write(struct btrfs_bio *bbio, int mirror_num, bool dev_replace);
H A Dextent_io.c98 struct btrfs_bio *bbio; member
162 struct btrfs_bio *bbio = bio_ctrl->bbio; in bio_set_csum_search_commit_root() local
164 ASSERT(bbio); in bio_set_csum_search_commit_root()
166 if (!(btrfs_op(&bbio->bio) == BTRFS_MAP_READ && is_data_inode(bbio->inode))) in bio_set_csum_search_commit_root()
169 bio_ctrl->bbio->csum_search_commit_root = in bio_set_csum_search_commit_root()
171 bio_ctrl->generation < btrfs_get_fs_generation(bbio->inode->root->fs_info)); in bio_set_csum_search_commit_root()
176 struct btrfs_bio *bbio = bio_ctrl->bbio; in submit_one_bio() local
178 if (!bbio) in submit_one_bio()
182 ASSERT(bbio->bio.bi_iter.bi_size); in submit_one_bio()
186 if (btrfs_op(&bbio->bio) == BTRFS_MAP_READ && in submit_one_bio()
[all …]
H A Dlzo.c278 struct btrfs_inode *inode = cb->bbio.inode; in lzo_compress_bio()
281 struct bio *bio = &cb->bbio.bio; in lzo_compress_bio()
396 bio_next_folio(fi, &cb->bbio.bio); in get_current_folio()
432 struct btrfs_fs_info *fs_info = cb->bbio.inode->root->fs_info; in lzo_decompress_bio()
446 bio_first_folio(&fi, &cb->bbio.bio, 0); in lzo_decompress_bio()
465 struct btrfs_inode *inode = cb->bbio.inode; in lzo_decompress_bio()
496 struct btrfs_inode *inode = cb->bbio.inode; in lzo_decompress_bio()
517 struct btrfs_inode *inode = cb->bbio.inode; in lzo_decompress_bio()
H A Dfile-item.h56 int btrfs_lookup_bio_sums(struct btrfs_bio *bbio);
67 int btrfs_csum_one_bio(struct btrfs_bio *bbio, bool async);
68 int btrfs_alloc_dummy_sum(struct btrfs_bio *bbio);
H A Dcompression.h64 struct btrfs_bio bbio; member
69 return cb->bbio.inode->root->fs_info; in cb_to_fs_info()
97 void btrfs_submit_compressed_read(struct btrfs_bio *bbio);
146 struct bio *bio = &cb->bbio.bio; in cleanup_compressed_bio()
H A Dzlib.c150 struct btrfs_inode *inode = cb->bbio.inode; in zlib_compress_bio()
154 struct bio *bio = &cb->bbio.bio; in zlib_compress_bio()
357 bio_first_folio(&fi, &cb->bbio.bio, 0); in zlib_decompress_bio()
386 struct btrfs_inode *inode = cb->bbio.inode; in zlib_decompress_bio()
419 bio_next_folio(&fi, &cb->bbio.bio); in zlib_decompress_bio()
432 btrfs_err(cb->bbio.inode->root->fs_info, in zlib_decompress_bio()
434 ret, btrfs_root_id(cb->bbio.inode->root), in zlib_decompress_bio()
435 btrfs_ino(cb->bbio.inode), cb->start); in zlib_decompress_bio()
H A Dzoned.h76 bool btrfs_use_zone_append(struct btrfs_bio *bbio);
77 void btrfs_record_physical_zoned(struct btrfs_bio *bbio);
203 static inline bool btrfs_use_zone_append(struct btrfs_bio *bbio) in btrfs_use_zone_append() argument
208 static inline void btrfs_record_physical_zoned(struct btrfs_bio *bbio) in btrfs_record_physical_zoned() argument
H A Dzstd.c401 struct btrfs_inode *inode = cb->bbio.inode; in zstd_compress_bio()
405 struct bio *bio = &cb->bbio.bio; in zstd_compress_bio()
600 bio_first_folio(&fi, &cb->bbio.bio, 0); in zstd_decompress_bio()
608 struct btrfs_inode *inode = cb->bbio.inode; in zstd_decompress_bio()
631 struct btrfs_inode *inode = cb->bbio.inode; in zstd_decompress_bio()
665 bio_next_folio(&fi, &cb->bbio.bio); in zstd_decompress_bio()
H A Dzoned.c2026 bool btrfs_use_zone_append(struct btrfs_bio *bbio) in btrfs_use_zone_append() argument
2028 u64 start = (bbio->bio.bi_iter.bi_sector << SECTOR_SHIFT); in btrfs_use_zone_append()
2029 struct btrfs_inode *inode = bbio->inode; in btrfs_use_zone_append()
2040 if (btrfs_op(&bbio->bio) != BTRFS_MAP_WRITE) in btrfs_use_zone_append()
2065 void btrfs_record_physical_zoned(struct btrfs_bio *bbio) in btrfs_record_physical_zoned() argument
2067 const u64 physical = bbio->bio.bi_iter.bi_sector << SECTOR_SHIFT; in btrfs_record_physical_zoned()
2068 struct btrfs_ordered_sum *sum = bbio->sums; in btrfs_record_physical_zoned()
2070 if (physical < bbio->orig_physical) in btrfs_record_physical_zoned()
2071 sum->logical -= bbio->orig_physical - physical; in btrfs_record_physical_zoned()
2073 sum->logical += physical - bbio->orig_physical; in btrfs_record_physical_zoned()
H A Ddisk-io.h114 int btree_csum_one_bio(struct btrfs_bio *bbio);
H A Dinode.c866 struct bio *bio = &cb->bbio.bio; in compressed_bio_last_folio()
895 struct bio *bio = &cb->bbio.bio; in zero_last_folio()
905 struct bio *bio = &cb->bbio.bio; in round_up_last_block()
1030 total_compressed = cb->bbio.bio.bi_iter.bi_size; in compress_file_range()
1056 bio_first_folio_all(&cb->bbio.bio), false); in compress_file_range()
1173 compressed_size = async_extent->cb->bbio.bio.bi_iter.bi_size; in submit_one_async_extent()
1200 async_extent->cb->bbio.bio.bi_iter.bi_sector = ins.objectid >> SECTOR_SHIFT; in submit_one_async_extent()
1216 async_extent->cb->bbio.ordered = ordered; in submit_one_async_extent()
1223 btrfs_submit_bbio(&async_extent->cb->bbio, 0); in submit_one_async_extent()
3538 bool btrfs_data_csum_ok(struct btrfs_bio *bbio, struct btrfs_device *dev, in btrfs_data_csum_ok() argument
[all …]
H A Drelocation.c3976 static void reloc_endio(struct btrfs_bio *bbio) in reloc_endio() argument
3978 struct reloc_io_private *priv = bbio->private; in reloc_endio()
3980 if (bbio->bio.bi_status) in reloc_endio()
3981 WRITE_ONCE(priv->status, bbio->bio.bi_status); in reloc_endio()
3986 bio_put(&bbio->bio); in reloc_endio()
3994 struct btrfs_bio *bbio; in copy_remapped_data_io() local
4001 bbio = btrfs_bio_alloc(BIO_MAX_VECS, op, BTRFS_I(fs_info->btree_inode), in copy_remapped_data_io()
4003 bbio->bio.bi_iter.bi_sector = (addr >> SECTOR_SHIFT); in copy_remapped_data_io()
4004 bbio->is_remap = true; in copy_remapped_data_io()
4010 if (bio_add_page(&bbio->bio, pages[i], bytes, 0) < bytes) { in copy_remapped_data_io()
[all …]
H A Dbtrfs_inode.h548 bool btrfs_data_csum_ok(struct btrfs_bio *bbio, struct btrfs_device *dev,
H A Ddisk-io.c255 int btree_csum_one_bio(struct btrfs_bio *bbio) in btree_csum_one_bio() argument
257 struct extent_buffer *eb = bbio->private; in btree_csum_one_bio()
265 if (WARN_ON_ONCE(bbio->file_offset != eb->start)) in btree_csum_one_bio()
267 if (WARN_ON_ONCE(bbio->bio.bi_iter.bi_size != eb->len)) in btree_csum_one_bio()
/linux/drivers/md/bcache/
H A Dio.c19 struct bbio *b = container_of(bio, struct bbio, bio); in bch_bbio_free()
26 struct bbio *b = mempool_alloc(&c->bio_meta, GFP_NOIO); in bch_bbio_alloc()
36 struct bbio *b = container_of(bio, struct bbio, bio); in __bch_submit_bbio()
48 struct bbio *b = container_of(bio, struct bbio, bio); in bch_submit_bbio()
139 struct bbio *b = container_of(bio, struct bbio, bio); in bch_bbio_count_io_errors()
H A Dmovinggc.c19 struct bbio bio;
64 struct bbio *b = container_of(bio, struct bbio, bio); in read_moving_endio()
H A Drequest.c481 struct bbio bio;
501 struct bbio *b = container_of(bio, struct bbio, bio); in bch_cache_read_endio()
568 bio_key = &container_of(n, struct bbio, bio)->key; in cache_lookup_fn()
H A Dbcache.h745 struct bbio { struct
H A Dsuper.c949 if (bioset_init(&d->bio_split, 4, offsetof(struct bbio, bio), in bcache_device_init()
1934 sizeof(struct bbio) + in bch_cache_set_alloc()
1941 if (bioset_init(&c->bio_split, 4, offsetof(struct bbio, bio), in bch_cache_set_alloc()