btrfs_bio
void btrfs_submit_repair_write(struct btrfs_bio *bbio, int mirror_num, bool dev_replace)
offsetof(struct btrfs_bio, bio),
offsetof(struct btrfs_bio, bio), 0))
offsetof(struct btrfs_bio, bio),
void btrfs_bio_end_io(struct btrfs_bio *bbio, blk_status_t status)
struct btrfs_bio *orig_bbio = bbio->private;
static void btrfs_end_repair_bio(struct btrfs_bio *repair_bbio,
static struct btrfs_failed_bio *repair_one_sector(struct btrfs_bio *failed_bbio,
struct btrfs_bio *bbio;
struct btrfs_bio *repair_bbio;
repair_bbio = btrfs_bio(repair_bio);
static void btrfs_check_read_bio(struct btrfs_bio *bbio, struct btrfs_device *dev)
static inline bool is_data_bbio(const struct btrfs_bio *bbio)
static bool bbio_has_ordered_extent(const struct btrfs_bio *bbio)
struct btrfs_bio *bbio = container_of(work, struct btrfs_bio, end_io_work);
struct btrfs_bio *bbio = btrfs_bio(bio);
struct btrfs_bio *bbio = btrfs_bio(bio);
struct btrfs_bio *bbio = container_of(work, struct btrfs_bio, end_io_work);
void btrfs_bio_init(struct btrfs_bio *bbio, struct btrfs_inode *inode, u64 file_offset,
struct btrfs_bio *bbio = btrfs_bio(bio);
struct btrfs_bio *bbio = container_of(work, struct btrfs_bio, end_io_work);
struct btrfs_bio *bbio = btrfs_bio(bio);
memset(bbio, 0, offsetof(struct btrfs_bio, bio));
if (btrfs_bio(bio)->can_use_append && btrfs_dev_is_sequential(dev, physical)) {
struct btrfs_bio *orig_bbio = btrfs_bio(orig_bio);
btrfs_bio_init(btrfs_bio(bio), orig_bbio->inode,
btrfs_bio(bio)->mirror_num = mirror_num;
btrfs_bio(bio)->orig_physical = smap->physical;
static int btrfs_bio_csum(struct btrfs_bio *bbio)
struct btrfs_bio *bbio;
struct btrfs_bio *btrfs_bio_alloc(unsigned int nr_vecs, blk_opf_t opf,
static bool should_async_write(struct btrfs_bio *bbio)
struct btrfs_bio *bbio;
static bool btrfs_wq_submit_bio(struct btrfs_bio *bbio,
static u64 btrfs_append_map_length(struct btrfs_bio *bbio, u64 map_length)
bbio = btrfs_bio(bio);
static bool btrfs_submit_chunk(struct btrfs_bio *bbio, int mirror_num)
struct btrfs_bio *split;
static struct btrfs_bio *btrfs_split_bio(struct btrfs_fs_info *fs_info,
struct btrfs_bio *orig_bbio,
struct btrfs_bio *bbio;
struct btrfs_bio *remaining = bbio->private;
static void assert_bbio_alignment(struct btrfs_bio *bbio)
void btrfs_submit_bbio(struct btrfs_bio *bbio, int mirror_num)
bbio = btrfs_bio(bio);
static inline struct btrfs_bio *btrfs_bio(struct bio *bio)
return container_of(bio, struct btrfs_bio, bio);
void btrfs_bio_init(struct btrfs_bio *bbio, struct btrfs_inode *inode, u64 file_offset,
struct btrfs_bio *btrfs_bio_alloc(unsigned int nr_vecs, blk_opf_t opf,
void btrfs_bio_end_io(struct btrfs_bio *bbio, blk_status_t status);
void btrfs_submit_bbio(struct btrfs_bio *bbio, int mirror_num);
void btrfs_submit_repair_write(struct btrfs_bio *bbio, int mirror_num, bool dev_replace);
struct btrfs_bio;
typedef void (*btrfs_bio_end_io_t)(struct btrfs_bio *bbio);
struct btrfs_bio;
bool btrfs_data_csum_ok(struct btrfs_bio *bbio, struct btrfs_device *dev,
static void end_bbio_compressed_read(struct btrfs_bio *bbio)
static void end_bbio_compressed_write(struct btrfs_bio *bbio)
void btrfs_submit_compressed_read(struct btrfs_bio *bbio)
static inline struct compressed_bio *to_compressed_bio(struct btrfs_bio *bbio)
struct btrfs_bio *bbio;
bbio = btrfs_bio(bio_alloc_bioset(NULL, BTRFS_MAX_COMPRESSED_PAGES, op,
struct btrfs_bio *orig_bbio;
struct btrfs_bio bbio;
void btrfs_submit_compressed_read(struct btrfs_bio *bbio);
struct btrfs_bio bbio;
static void btrfs_dio_end_io(struct btrfs_bio *bbio)
static int btrfs_extract_ordered_extent(struct btrfs_bio *bbio,
struct btrfs_bio *bbio = btrfs_bio(bio);
int btree_csum_one_bio(struct btrfs_bio *bbio)
int btree_csum_one_bio(struct btrfs_bio *bbio);
struct btrfs_bio *bbio = bio_ctrl->bbio;
struct btrfs_bio *bbio = bio_ctrl->bbio;
struct btrfs_bio *bbio = bio_ctrl->bbio;
static void end_bbio_meta_write(struct btrfs_bio *bbio)
struct btrfs_bio *bbio;
static void end_bbio_meta_read(struct btrfs_bio *bbio)
struct btrfs_bio *bbio;
static void end_bbio_data_write(struct btrfs_bio *bbio)
static void end_bbio_data_read(struct btrfs_bio *bbio)
struct btrfs_bio *bbio;
struct btrfs_bio *bbio;
int btrfs_lookup_bio_sums(struct btrfs_bio *bbio)
static void csum_one_bio(struct btrfs_bio *bbio, struct bvec_iter *src)
struct btrfs_bio *bbio = container_of(work, struct btrfs_bio, csum_work);
int btrfs_csum_one_bio(struct btrfs_bio *bbio, bool async)
int btrfs_alloc_dummy_sum(struct btrfs_bio *bbio)
struct btrfs_bio;
int btrfs_lookup_bio_sums(struct btrfs_bio *bbio);
int btrfs_csum_one_bio(struct btrfs_bio *bbio, bool async);
int btrfs_alloc_dummy_sum(struct btrfs_bio *bbio);
bool btrfs_data_csum_ok(struct btrfs_bio *bbio, struct btrfs_device *dev,
static void btrfs_encoded_read_endio(struct btrfs_bio *bbio)
struct btrfs_bio *bbio;
static void reloc_endio(struct btrfs_bio *bbio)
struct btrfs_bio *bbio;
static void scrub_read_endio(struct btrfs_bio *bbio)
static void scrub_write_endio(struct btrfs_bio *bbio)
struct btrfs_bio *bbio, bool dev_replace)
struct btrfs_bio *bbio = NULL;
struct btrfs_bio *bbio = NULL;
struct btrfs_bio *bbio;
static void scrub_repair_read_endio(struct btrfs_bio *bbio)
static void scrub_bio_add_sector(struct btrfs_bio *bbio, struct scrub_stripe *stripe,
static struct btrfs_bio *alloc_scrub_bbio(struct btrfs_fs_info *fs_info,
struct btrfs_bio *bbio;
struct btrfs_bio *bbio = NULL;
bool btrfs_use_zone_append(struct btrfs_bio *bbio)
void btrfs_record_physical_zoned(struct btrfs_bio *bbio)
static inline bool btrfs_use_zone_append(struct btrfs_bio *bbio)
static inline void btrfs_record_physical_zoned(struct btrfs_bio *bbio)
struct btrfs_bio;
bool btrfs_use_zone_append(struct btrfs_bio *bbio);
void btrfs_record_physical_zoned(struct btrfs_bio *bbio);