Lines Matching refs:btrfs_raid_bio

61 struct btrfs_raid_bio {  struct
177 static int __raid56_parity_recover(struct btrfs_raid_bio *rbio); argument
178 static noinline void finish_rmw(struct btrfs_raid_bio *rbio);
181 static int fail_bio_stripe(struct btrfs_raid_bio *rbio, struct bio *bio);
182 static int fail_rbio_index(struct btrfs_raid_bio *rbio, int failed);
183 static void __free_raid_bio(struct btrfs_raid_bio *rbio);
184 static void index_rbio_pages(struct btrfs_raid_bio *rbio);
185 static int alloc_rbio_pages(struct btrfs_raid_bio *rbio);
187 static noinline void finish_parity_scrub(struct btrfs_raid_bio *rbio,
191 static void start_async_work(struct btrfs_raid_bio *rbio, btrfs_func_t work_func) in start_async_work()
250 static void cache_rbio_pages(struct btrfs_raid_bio *rbio) in cache_rbio_pages()
280 static int rbio_bucket(struct btrfs_raid_bio *rbio) in rbio_bucket()
299 static void steal_rbio(struct btrfs_raid_bio *src, struct btrfs_raid_bio *dest) in steal_rbio()
330 static void merge_rbio(struct btrfs_raid_bio *dest, in merge_rbio()
331 struct btrfs_raid_bio *victim) in merge_rbio()
346 static void __remove_rbio_from_cache(struct btrfs_raid_bio *rbio) in __remove_rbio_from_cache()
406 static void remove_rbio_from_cache(struct btrfs_raid_bio *rbio) in remove_rbio_from_cache()
428 struct btrfs_raid_bio *rbio; in btrfs_clear_rbio_cache()
435 struct btrfs_raid_bio, in btrfs_clear_rbio_cache()
466 static void cache_rbio(struct btrfs_raid_bio *rbio) in cache_rbio()
493 struct btrfs_raid_bio *found; in cache_rbio()
496 struct btrfs_raid_bio, in cache_rbio()
530 static int rbio_is_full(struct btrfs_raid_bio *rbio) in rbio_is_full()
555 static int rbio_can_merge(struct btrfs_raid_bio *last, in rbio_can_merge()
556 struct btrfs_raid_bio *cur) in rbio_can_merge()
616 static int rbio_stripe_page_index(struct btrfs_raid_bio *rbio, int stripe, in rbio_stripe_page_index()
626 static struct page *rbio_stripe_page(struct btrfs_raid_bio *rbio, int stripe, in rbio_stripe_page()
635 static struct page *rbio_pstripe_page(struct btrfs_raid_bio *rbio, int index) in rbio_pstripe_page()
644 static struct page *rbio_qstripe_page(struct btrfs_raid_bio *rbio, int index) in rbio_qstripe_page()
673 static noinline int lock_stripe_add(struct btrfs_raid_bio *rbio) in lock_stripe_add()
676 struct btrfs_raid_bio *cur; in lock_stripe_add()
677 struct btrfs_raid_bio *pending; in lock_stripe_add()
679 struct btrfs_raid_bio *freeit = NULL; in lock_stripe_add()
680 struct btrfs_raid_bio *cache_drop = NULL; in lock_stripe_add()
757 static noinline void unlock_stripe(struct btrfs_raid_bio *rbio) in unlock_stripe()
796 struct btrfs_raid_bio *next; in unlock_stripe()
799 next = list_entry(head, struct btrfs_raid_bio, in unlock_stripe()
834 static void __free_raid_bio(struct btrfs_raid_bio *rbio) in __free_raid_bio()
873 static void rbio_orig_end_io(struct btrfs_raid_bio *rbio, blk_status_t err) in rbio_orig_end_io()
910 struct btrfs_raid_bio *rbio = bio->bi_private; in raid_write_end_io()
949 static struct page *page_in_rbio(struct btrfs_raid_bio *rbio, in page_in_rbio()
980 static struct btrfs_raid_bio *alloc_rbio(struct btrfs_fs_info *fs_info, in alloc_rbio()
984 struct btrfs_raid_bio *rbio; in alloc_rbio()
1047 static int alloc_rbio_pages(struct btrfs_raid_bio *rbio) in alloc_rbio_pages()
1064 static int alloc_rbio_parity_pages(struct btrfs_raid_bio *rbio) in alloc_rbio_parity_pages()
1087 static int rbio_add_io_page(struct btrfs_raid_bio *rbio, in rbio_add_io_page()
1144 static void validate_rbio_for_rmw(struct btrfs_raid_bio *rbio) in validate_rbio_for_rmw()
1162 static void index_rbio_pages(struct btrfs_raid_bio *rbio) in index_rbio_pages()
1198 static noinline void finish_rmw(struct btrfs_raid_bio *rbio) in finish_rmw()
1370 static int find_bio_stripe(struct btrfs_raid_bio *rbio, in find_bio_stripe()
1396 static int find_logical_bio_stripe(struct btrfs_raid_bio *rbio, in find_logical_bio_stripe()
1414 static int fail_rbio_index(struct btrfs_raid_bio *rbio, int failed) in fail_rbio_index()
1446 static int fail_bio_stripe(struct btrfs_raid_bio *rbio, in fail_bio_stripe()
1482 struct btrfs_raid_bio *rbio = bio->bi_private; in raid_rmw_end_io()
1514 static int raid56_rmw_stripe(struct btrfs_raid_bio *rbio) in raid56_rmw_stripe()
1609 static int full_stripe_write(struct btrfs_raid_bio *rbio) in full_stripe_write()
1630 static int partial_stripe_write(struct btrfs_raid_bio *rbio) in partial_stripe_write()
1646 static int __raid56_parity_write(struct btrfs_raid_bio *rbio) in __raid56_parity_write()
1673 struct btrfs_raid_bio *ra = container_of(a, struct btrfs_raid_bio, in plug_cmp()
1675 struct btrfs_raid_bio *rb = container_of(b, struct btrfs_raid_bio, in plug_cmp()
1689 struct btrfs_raid_bio *cur; in run_plug()
1690 struct btrfs_raid_bio *last = NULL; in run_plug()
1700 struct btrfs_raid_bio, plug_list); in run_plug()
1754 static void rbio_add_bio(struct btrfs_raid_bio *rbio, struct bio *orig_bio) in rbio_add_bio()
1786 struct btrfs_raid_bio *rbio; in raid56_parity_write()
1835 static void __raid_recover_end_io(struct btrfs_raid_bio *rbio) in __raid_recover_end_io()
2049 struct btrfs_raid_bio *rbio = bio->bi_private; in raid_recover_end_io()
2078 static int __raid56_parity_recover(struct btrfs_raid_bio *rbio) in __raid56_parity_recover()
2171 struct btrfs_raid_bio *rbio; in raid56_parity_recover()
2247 struct btrfs_raid_bio *rbio; in rmw_work()
2249 rbio = container_of(work, struct btrfs_raid_bio, work); in rmw_work()
2255 struct btrfs_raid_bio *rbio; in read_rebuild_work()
2257 rbio = container_of(work, struct btrfs_raid_bio, work); in read_rebuild_work()
2271 struct btrfs_raid_bio *
2277 struct btrfs_raid_bio *rbio; in raid56_parity_alloc_scrub_rbio()
2319 void raid56_add_scrub_pages(struct btrfs_raid_bio *rbio, struct page *page, in raid56_add_scrub_pages()
2337 static int alloc_rbio_essential_pages(struct btrfs_raid_bio *rbio) in alloc_rbio_essential_pages()
2359 static noinline void finish_parity_scrub(struct btrfs_raid_bio *rbio, in finish_parity_scrub()
2517 static inline int is_data_stripe(struct btrfs_raid_bio *rbio, int stripe) in is_data_stripe()
2531 static void validate_rbio_for_parity_scrub(struct btrfs_raid_bio *rbio) in validate_rbio_for_parity_scrub()
2595 struct btrfs_raid_bio *rbio = bio->bi_private; in raid56_parity_scrub_end_io()
2615 static void raid56_parity_scrub_stripe(struct btrfs_raid_bio *rbio) in raid56_parity_scrub_stripe()
2705 struct btrfs_raid_bio *rbio; in scrub_parity_work()
2707 rbio = container_of(work, struct btrfs_raid_bio, work); in scrub_parity_work()
2711 void raid56_parity_submit_scrub_rbio(struct btrfs_raid_bio *rbio) in raid56_parity_submit_scrub_rbio()
2719 struct btrfs_raid_bio *
2723 struct btrfs_raid_bio *rbio; in raid56_alloc_missing_rbio()
2753 void raid56_submit_missing_rbio(struct btrfs_raid_bio *rbio) in raid56_submit_missing_rbio()