btrfs_raid_bio
static phys_addr_t *sector_paddrs_in_rbio(struct btrfs_raid_bio *rbio,
static phys_addr_t sector_paddr_in_rbio(struct btrfs_raid_bio *rbio,
static struct btrfs_raid_bio *alloc_rbio(struct btrfs_fs_info *fs_info,
struct btrfs_raid_bio *rbio;
static int alloc_rbio_pages(struct btrfs_raid_bio *rbio)
static int alloc_rbio_parity_pages(struct btrfs_raid_bio *rbio)
static int get_rbio_vertical_errors(struct btrfs_raid_bio *rbio, int sector_nr,
static int rbio_add_io_paddrs(struct btrfs_raid_bio *rbio, struct bio_list *bio_list,
static void index_one_bio(struct btrfs_raid_bio *rbio, struct bio *bio)
static void index_rbio_pages(struct btrfs_raid_bio *rbio)
static void bio_get_trace_info(struct btrfs_raid_bio *rbio, struct bio *bio,
static void assert_rbio(struct btrfs_raid_bio *rbio)
static void generate_pq_vertical_step(struct btrfs_raid_bio *rbio, unsigned int sector_nr,
static void index_rbio_pages(struct btrfs_raid_bio *rbio);
static void generate_pq_vertical(struct btrfs_raid_bio *rbio, int sectornr)
static int alloc_rbio_pages(struct btrfs_raid_bio *rbio);
static int rmw_assemble_write_bios(struct btrfs_raid_bio *rbio,
static int finish_parity_scrub(struct btrfs_raid_bio *rbio);
static void free_raid_bio_pointers(struct btrfs_raid_bio *rbio)
static void set_rbio_range_error(struct btrfs_raid_bio *rbio, struct bio *bio)
static void free_raid_bio(struct btrfs_raid_bio *rbio)
static int find_stripe_sector_nr(struct btrfs_raid_bio *rbio, phys_addr_t paddr)
static void set_bio_pages_uptodate(struct btrfs_raid_bio *rbio, struct bio *bio)
static int get_bio_sector_nr(struct btrfs_raid_bio *rbio, struct bio *bio)
static void rbio_update_error_bitmap(struct btrfs_raid_bio *rbio, struct bio *bio)
static void verify_bio_data_sectors(struct btrfs_raid_bio *rbio,
struct btrfs_raid_bio *rbio = bio->bi_private;
static void submit_read_wait_bio_list(struct btrfs_raid_bio *rbio,
static int alloc_rbio_data_pages(struct btrfs_raid_bio *rbio)
const struct btrfs_raid_bio *ra = container_of(a, struct btrfs_raid_bio,
const struct btrfs_raid_bio *rb = container_of(b, struct btrfs_raid_bio,
struct btrfs_raid_bio *cur;
struct btrfs_raid_bio *last = NULL;
struct btrfs_raid_bio, plug_list);
static void start_async_work(struct btrfs_raid_bio *rbio, work_func_t work_func)
static void rbio_add_bio(struct btrfs_raid_bio *rbio, struct bio *orig_bio)
struct btrfs_raid_bio *rbio;
static int verify_one_sector(struct btrfs_raid_bio *rbio,
static void recover_vertical_step(struct btrfs_raid_bio *rbio,
static int recover_vertical(struct btrfs_raid_bio *rbio, int sector_nr,
static int recover_sectors(struct btrfs_raid_bio *rbio)
static void recover_rbio(struct btrfs_raid_bio *rbio)
struct btrfs_raid_bio *rbio;
rbio = container_of(work, struct btrfs_raid_bio, work);
recover_rbio(container_of(work, struct btrfs_raid_bio, work));
static void set_rbio_raid6_extra_error(struct btrfs_raid_bio *rbio, int mirror_num)
struct btrfs_raid_bio *rbio;
static void fill_data_csums(struct btrfs_raid_bio *rbio)
static void memcpy_from_bio_to_stripe(struct btrfs_raid_bio *rbio, unsigned int sector_nr)
static int rmw_read_wait_recover(struct btrfs_raid_bio *rbio)
struct btrfs_raid_bio *rbio = bio->bi_private;
static void submit_write_bios(struct btrfs_raid_bio *rbio,
static bool need_read_stripe_sectors(struct btrfs_raid_bio *rbio)
static void rmw_rbio(struct btrfs_raid_bio *rbio)
struct btrfs_raid_bio *rbio;
rbio = container_of(work, struct btrfs_raid_bio, work);
rmw_rbio(container_of(work, struct btrfs_raid_bio, work));
struct btrfs_raid_bio *raid56_parity_alloc_scrub_rbio(struct bio *bio,
struct btrfs_raid_bio *rbio;
static void cache_rbio_pages(struct btrfs_raid_bio *rbio)
static int alloc_rbio_sector_pages(struct btrfs_raid_bio *rbio,
static int alloc_rbio_essential_pages(struct btrfs_raid_bio *rbio)
static bool verify_one_parity_step(struct btrfs_raid_bio *rbio,
static void verify_one_parity_sector(struct btrfs_raid_bio *rbio,
static int finish_parity_scrub(struct btrfs_raid_bio *rbio)
static inline int is_data_stripe(struct btrfs_raid_bio *rbio, int stripe)
static int recover_scrub_rbio(struct btrfs_raid_bio *rbio)
static int rbio_bucket(struct btrfs_raid_bio *rbio)
static int scrub_assemble_read_bios(struct btrfs_raid_bio *rbio)
static void scrub_rbio(struct btrfs_raid_bio *rbio)
scrub_rbio(container_of(work, struct btrfs_raid_bio, work));
void raid56_parity_submit_scrub_rbio(struct btrfs_raid_bio *rbio)
void raid56_parity_cache_data_folios(struct btrfs_raid_bio *rbio,
static u32 page_nr_to_sector_nr(struct btrfs_raid_bio *rbio, unsigned int page_nr)
static u32 page_nr_to_num_sectors(struct btrfs_raid_bio *rbio, unsigned int page_nr)
static __maybe_unused bool full_page_sectors_uptodate(struct btrfs_raid_bio *rbio,
static void index_stripe_sectors(struct btrfs_raid_bio *rbio)
static void steal_rbio_page(struct btrfs_raid_bio *src,
struct btrfs_raid_bio *dest, int page_nr)
static bool is_data_stripe_page(struct btrfs_raid_bio *rbio, int page_nr)
static void steal_rbio(struct btrfs_raid_bio *src, struct btrfs_raid_bio *dest)
static void merge_rbio(struct btrfs_raid_bio *dest,
struct btrfs_raid_bio *victim)
static void __remove_rbio_from_cache(struct btrfs_raid_bio *rbio)
static void remove_rbio_from_cache(struct btrfs_raid_bio *rbio)
struct btrfs_raid_bio *rbio;
struct btrfs_raid_bio, stripe_cache);
static void cache_rbio(struct btrfs_raid_bio *rbio)
struct btrfs_raid_bio *found;
struct btrfs_raid_bio,
const struct btrfs_raid_bio *rbio)
static int rbio_is_full(struct btrfs_raid_bio *rbio)
static int rbio_can_merge(struct btrfs_raid_bio *last,
struct btrfs_raid_bio *cur)
static unsigned int rbio_sector_index(const struct btrfs_raid_bio *rbio,
static unsigned int rbio_paddr_index(const struct btrfs_raid_bio *rbio,
static phys_addr_t rbio_stripe_paddr(const struct btrfs_raid_bio *rbio,
static phys_addr_t rbio_pstripe_paddr(const struct btrfs_raid_bio *rbio,
static phys_addr_t rbio_qstripe_paddr(const struct btrfs_raid_bio *rbio,
static phys_addr_t *rbio_stripe_paddrs(const struct btrfs_raid_bio *rbio,
static noinline int lock_stripe_add(struct btrfs_raid_bio *rbio)
struct btrfs_raid_bio *cur;
struct btrfs_raid_bio *pending;
struct btrfs_raid_bio *freeit = NULL;
struct btrfs_raid_bio *cache_drop = NULL;
static noinline void unlock_stripe(struct btrfs_raid_bio *rbio)
struct btrfs_raid_bio *next;
next = list_entry(head, struct btrfs_raid_bio,
static void rbio_orig_end_io(struct btrfs_raid_bio *rbio, blk_status_t status)
struct btrfs_raid_bio *raid56_parity_alloc_scrub_rbio(struct bio *bio,
void raid56_parity_submit_scrub_rbio(struct btrfs_raid_bio *rbio);
void raid56_parity_cache_data_folios(struct btrfs_raid_bio *rbio,
struct btrfs_raid_bio *rbio;
TP_PROTO(const struct btrfs_raid_bio *rbio,
TP_PROTO(const struct btrfs_raid_bio *rbio,
TP_PROTO(const struct btrfs_raid_bio *rbio,
struct btrfs_raid_bio;