| /linux/fs/btrfs/ |
| H A D | bio.c | 24 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 D | file-item.c | 346 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 D | compression.c | 56 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 D | direct-io.c | 30 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 D | scrub.c | 890 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 D | bio.h | 21 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 D | extent_io.c | 98 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 D | lzo.c | 278 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 D | file-item.h | 56 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 D | compression.h | 64 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 D | zlib.c | 150 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 D | zoned.h | 76 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 D | zstd.c | 401 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 D | zoned.c | 2026 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 D | disk-io.h | 114 int btree_csum_one_bio(struct btrfs_bio *bbio);
|
| H A D | inode.c | 866 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 D | relocation.c | 3976 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 D | btrfs_inode.h | 548 bool btrfs_data_csum_ok(struct btrfs_bio *bbio, struct btrfs_device *dev,
|
| H A D | disk-io.c | 255 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 D | io.c | 19 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 D | movinggc.c | 19 struct bbio bio; 64 struct bbio *b = container_of(bio, struct bbio, bio); in read_moving_endio()
|
| H A D | request.c | 481 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 D | bcache.h | 745 struct bbio { struct
|
| H A D | super.c | 949 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()
|