Lines Matching refs:btrfs_raid_bio
71 static void index_rbio_pages(struct btrfs_raid_bio *rbio);
72 static int alloc_rbio_pages(struct btrfs_raid_bio *rbio);
74 static int finish_parity_scrub(struct btrfs_raid_bio *rbio);
77 static void free_raid_bio_pointers(struct btrfs_raid_bio *rbio)
86 static void free_raid_bio(struct btrfs_raid_bio *rbio)
109 static void start_async_work(struct btrfs_raid_bio *rbio, work_func_t work_func)
167 static void cache_rbio_pages(struct btrfs_raid_bio *rbio)
203 static int rbio_bucket(struct btrfs_raid_bio *rbio)
218 static bool full_page_sectors_uptodate(struct btrfs_raid_bio *rbio,
241 static void index_stripe_sectors(struct btrfs_raid_bio *rbio)
256 static void steal_rbio_page(struct btrfs_raid_bio *src,
257 struct btrfs_raid_bio *dest, int page_nr)
274 static bool is_data_stripe_page(struct btrfs_raid_bio *rbio, int page_nr)
296 static void steal_rbio(struct btrfs_raid_bio *src, struct btrfs_raid_bio *dest)
332 static void merge_rbio(struct btrfs_raid_bio *dest,
333 struct btrfs_raid_bio *victim)
347 static void __remove_rbio_from_cache(struct btrfs_raid_bio *rbio)
407 static void remove_rbio_from_cache(struct btrfs_raid_bio *rbio)
427 struct btrfs_raid_bio *rbio;
434 struct btrfs_raid_bio,
465 static void cache_rbio(struct btrfs_raid_bio *rbio)
491 struct btrfs_raid_bio *found;
494 struct btrfs_raid_bio,
528 static int rbio_is_full(struct btrfs_raid_bio *rbio)
552 static int rbio_can_merge(struct btrfs_raid_bio *last,
553 struct btrfs_raid_bio *cur)
593 static unsigned int rbio_stripe_sector_index(const struct btrfs_raid_bio *rbio,
604 static struct sector_ptr *rbio_stripe_sector(const struct btrfs_raid_bio *rbio,
613 static struct sector_ptr *rbio_pstripe_sector(const struct btrfs_raid_bio *rbio,
620 static struct sector_ptr *rbio_qstripe_sector(const struct btrfs_raid_bio *rbio,
650 static noinline int lock_stripe_add(struct btrfs_raid_bio *rbio)
653 struct btrfs_raid_bio *cur;
654 struct btrfs_raid_bio *pending;
655 struct btrfs_raid_bio *freeit = NULL;
656 struct btrfs_raid_bio *cache_drop = NULL;
735 static noinline void unlock_stripe(struct btrfs_raid_bio *rbio)
773 struct btrfs_raid_bio *next;
776 next = list_entry(head, struct btrfs_raid_bio,
825 static void rbio_orig_end_io(struct btrfs_raid_bio *rbio, blk_status_t err)
871 static struct sector_ptr *sector_in_rbio(struct btrfs_raid_bio *rbio,
899 * allocation and initial setup for the btrfs_raid_bio. Not
902 static struct btrfs_raid_bio *alloc_rbio(struct btrfs_fs_info *fs_info,
911 struct btrfs_raid_bio *rbio;
963 static int alloc_rbio_pages(struct btrfs_raid_bio *rbio)
976 static int alloc_rbio_parity_pages(struct btrfs_raid_bio *rbio)
996 static int get_rbio_veritical_errors(struct btrfs_raid_bio *rbio, int sector_nr,
1035 static int rbio_add_io_sector(struct btrfs_raid_bio *rbio,
1106 static void index_one_bio(struct btrfs_raid_bio *rbio, struct bio *bio)
1137 static void index_rbio_pages(struct btrfs_raid_bio *rbio)
1148 static void bio_get_trace_info(struct btrfs_raid_bio *rbio, struct bio *bio,
1185 static void generate_pq_vertical(struct btrfs_raid_bio *rbio, int sectornr)
1226 static int rmw_assemble_write_bios(struct btrfs_raid_bio *rbio,
1332 static void set_rbio_range_error(struct btrfs_raid_bio *rbio, struct bio *bio)
1370 static struct sector_ptr *find_stripe_sector(struct btrfs_raid_bio *rbio,
1389 static void set_bio_pages_uptodate(struct btrfs_raid_bio *rbio, struct bio *bio)
1411 static int get_bio_sector_nr(struct btrfs_raid_bio *rbio, struct bio *bio)
1430 static void rbio_update_error_bitmap(struct btrfs_raid_bio *rbio, struct bio *bio)
1452 static void verify_bio_data_sectors(struct btrfs_raid_bio *rbio,
1493 struct btrfs_raid_bio *rbio = bio->bi_private;
1507 static void submit_read_wait_bio_list(struct btrfs_raid_bio *rbio,
1528 static int alloc_rbio_data_pages(struct btrfs_raid_bio *rbio)
1561 const struct btrfs_raid_bio *ra = container_of(a, struct btrfs_raid_bio,
1563 const struct btrfs_raid_bio *rb = container_of(b, struct btrfs_raid_bio,
1578 struct btrfs_raid_bio *cur;
1579 struct btrfs_raid_bio *last = NULL;
1585 struct btrfs_raid_bio, plug_list);
1609 static void rbio_add_bio(struct btrfs_raid_bio *rbio, struct bio *orig_bio)
1641 struct btrfs_raid_bio *rbio;
1678 static int verify_one_sector(struct btrfs_raid_bio *rbio,
1718 static int recover_vertical(struct btrfs_raid_bio *rbio, int sector_nr,
1874 static int recover_sectors(struct btrfs_raid_bio *rbio)
1914 static void recover_rbio(struct btrfs_raid_bio *rbio)
1979 struct btrfs_raid_bio *rbio;
1981 rbio = container_of(work, struct btrfs_raid_bio, work);
1988 recover_rbio(container_of(work, struct btrfs_raid_bio, work));
1991 static void set_rbio_raid6_extra_error(struct btrfs_raid_bio *rbio, int mirror_num)
2046 struct btrfs_raid_bio *rbio;
2071 static void fill_data_csums(struct btrfs_raid_bio *rbio)
2132 static int rmw_read_wait_recover(struct btrfs_raid_bio *rbio)
2175 struct btrfs_raid_bio *rbio = bio->bi_private;
2185 static void submit_write_bios(struct btrfs_raid_bio *rbio,
2208 static bool need_read_stripe_sectors(struct btrfs_raid_bio *rbio)
2226 static void rmw_rbio(struct btrfs_raid_bio *rbio)
2313 struct btrfs_raid_bio *rbio;
2315 rbio = container_of(work, struct btrfs_raid_bio, work);
2322 rmw_rbio(container_of(work, struct btrfs_raid_bio, work));
2335 struct btrfs_raid_bio *raid56_parity_alloc_scrub_rbio(struct bio *bio,
2341 struct btrfs_raid_bio *rbio;
2376 static int alloc_rbio_essential_pages(struct btrfs_raid_bio *rbio)
2400 static int finish_parity_scrub(struct btrfs_raid_bio *rbio)
2552 static inline int is_data_stripe(struct btrfs_raid_bio *rbio, int stripe)
2559 static int recover_scrub_rbio(struct btrfs_raid_bio *rbio)
2643 static int scrub_assemble_read_bios(struct btrfs_raid_bio *rbio)
2689 static void scrub_rbio(struct btrfs_raid_bio *rbio)
2730 scrub_rbio(container_of(work, struct btrfs_raid_bio, work));
2733 void raid56_parity_submit_scrub_rbio(struct btrfs_raid_bio *rbio)
2746 void raid56_parity_cache_data_pages(struct btrfs_raid_bio *rbio,