Lines Matching refs:btrfs_raid_bio

70 struct btrfs_raid_bio {  struct
180 static int __raid56_parity_recover(struct btrfs_raid_bio *rbio); argument
181 static noinline void finish_rmw(struct btrfs_raid_bio *rbio);
184 static void async_rmw_stripe(struct btrfs_raid_bio *rbio);
185 static void async_read_rebuild(struct btrfs_raid_bio *rbio);
186 static int fail_bio_stripe(struct btrfs_raid_bio *rbio, struct bio *bio);
187 static int fail_rbio_index(struct btrfs_raid_bio *rbio, int failed);
188 static void __free_raid_bio(struct btrfs_raid_bio *rbio);
189 static void index_rbio_pages(struct btrfs_raid_bio *rbio);
190 static int alloc_rbio_pages(struct btrfs_raid_bio *rbio);
192 static noinline void finish_parity_scrub(struct btrfs_raid_bio *rbio,
194 static void async_scrub_parity(struct btrfs_raid_bio *rbio);
255 static void cache_rbio_pages(struct btrfs_raid_bio *rbio) in cache_rbio_pages()
285 static int rbio_bucket(struct btrfs_raid_bio *rbio) in rbio_bucket()
304 static void steal_rbio(struct btrfs_raid_bio *src, struct btrfs_raid_bio *dest) in steal_rbio()
335 static void merge_rbio(struct btrfs_raid_bio *dest, in merge_rbio()
336 struct btrfs_raid_bio *victim) in merge_rbio()
348 static void __remove_rbio_from_cache(struct btrfs_raid_bio *rbio) in __remove_rbio_from_cache()
408 static void remove_rbio_from_cache(struct btrfs_raid_bio *rbio) in remove_rbio_from_cache()
430 struct btrfs_raid_bio *rbio; in btrfs_clear_rbio_cache()
437 struct btrfs_raid_bio, in btrfs_clear_rbio_cache()
468 static void cache_rbio(struct btrfs_raid_bio *rbio) in cache_rbio()
495 struct btrfs_raid_bio *found; in cache_rbio()
498 struct btrfs_raid_bio, in cache_rbio()
536 static int __rbio_is_full(struct btrfs_raid_bio *rbio) in __rbio_is_full()
548 static int rbio_is_full(struct btrfs_raid_bio *rbio) in rbio_is_full()
569 static int rbio_can_merge(struct btrfs_raid_bio *last, in rbio_can_merge()
570 struct btrfs_raid_bio *cur) in rbio_can_merge()
616 static struct page *rbio_pstripe_page(struct btrfs_raid_bio *rbio, int index) in rbio_pstripe_page()
626 static struct page *rbio_qstripe_page(struct btrfs_raid_bio *rbio, int index) in rbio_qstripe_page()
658 static noinline int lock_stripe_add(struct btrfs_raid_bio *rbio) in lock_stripe_add()
662 struct btrfs_raid_bio *cur; in lock_stripe_add()
663 struct btrfs_raid_bio *pending; in lock_stripe_add()
666 struct btrfs_raid_bio *freeit = NULL; in lock_stripe_add()
667 struct btrfs_raid_bio *cache_drop = NULL; in lock_stripe_add()
747 static noinline void unlock_stripe(struct btrfs_raid_bio *rbio) in unlock_stripe()
786 struct btrfs_raid_bio *next; in unlock_stripe()
789 next = list_entry(head, struct btrfs_raid_bio, in unlock_stripe()
833 static void __free_raid_bio(struct btrfs_raid_bio *rbio) in __free_raid_bio()
856 static void free_raid_bio(struct btrfs_raid_bio *rbio) in free_raid_bio()
866 static void rbio_orig_end_io(struct btrfs_raid_bio *rbio, int err) in rbio_orig_end_io()
891 struct btrfs_raid_bio *rbio = bio->bi_private; in raid_write_end_io()
928 static struct page *page_in_rbio(struct btrfs_raid_bio *rbio, in page_in_rbio()
960 static struct btrfs_raid_bio *alloc_rbio(struct btrfs_root *root, in alloc_rbio()
963 struct btrfs_raid_bio *rbio; in alloc_rbio()
1014 static int alloc_rbio_pages(struct btrfs_raid_bio *rbio) in alloc_rbio_pages()
1032 static int alloc_rbio_parity_pages(struct btrfs_raid_bio *rbio) in alloc_rbio_parity_pages()
1055 static int rbio_add_io_page(struct btrfs_raid_bio *rbio, in rbio_add_io_page()
1115 static void validate_rbio_for_rmw(struct btrfs_raid_bio *rbio) in validate_rbio_for_rmw()
1129 static struct page *rbio_stripe_page(struct btrfs_raid_bio *rbio, int stripe, int page) in rbio_stripe_page()
1145 static void index_rbio_pages(struct btrfs_raid_bio *rbio) in index_rbio_pages()
1176 static noinline void finish_rmw(struct btrfs_raid_bio *rbio) in finish_rmw()
1339 static int find_bio_stripe(struct btrfs_raid_bio *rbio, in find_bio_stripe()
1366 static int find_logical_bio_stripe(struct btrfs_raid_bio *rbio, in find_logical_bio_stripe()
1388 static int fail_rbio_index(struct btrfs_raid_bio *rbio, int failed) in fail_rbio_index()
1420 static int fail_bio_stripe(struct btrfs_raid_bio *rbio, in fail_bio_stripe()
1456 struct btrfs_raid_bio *rbio = bio->bi_private; in raid_rmw_end_io()
1484 static void async_rmw_stripe(struct btrfs_raid_bio *rbio) in async_rmw_stripe()
1493 static void async_read_rebuild(struct btrfs_raid_bio *rbio) in async_read_rebuild()
1506 static int raid56_rmw_stripe(struct btrfs_raid_bio *rbio) in raid56_rmw_stripe()
1602 static int full_stripe_write(struct btrfs_raid_bio *rbio) in full_stripe_write()
1623 static int partial_stripe_write(struct btrfs_raid_bio *rbio) in partial_stripe_write()
1639 static int __raid56_parity_write(struct btrfs_raid_bio *rbio) in __raid56_parity_write()
1666 struct btrfs_raid_bio *ra = container_of(a, struct btrfs_raid_bio, in plug_cmp()
1668 struct btrfs_raid_bio *rb = container_of(b, struct btrfs_raid_bio, in plug_cmp()
1682 struct btrfs_raid_bio *cur; in run_plug()
1683 struct btrfs_raid_bio *last = NULL; in run_plug()
1693 struct btrfs_raid_bio, plug_list); in run_plug()
1750 struct btrfs_raid_bio *rbio; in raid56_parity_write()
1801 static void __raid_recover_end_io(struct btrfs_raid_bio *rbio) in __raid_recover_end_io()
2002 struct btrfs_raid_bio *rbio = bio->bi_private; in raid_recover_end_io()
2031 static int __raid56_parity_recover(struct btrfs_raid_bio *rbio) in __raid56_parity_recover()
2132 struct btrfs_raid_bio *rbio; in raid56_parity_recover()
2191 struct btrfs_raid_bio *rbio; in rmw_work()
2193 rbio = container_of(work, struct btrfs_raid_bio, work); in rmw_work()
2199 struct btrfs_raid_bio *rbio; in read_rebuild_work()
2201 rbio = container_of(work, struct btrfs_raid_bio, work); in read_rebuild_work()
2213 struct btrfs_raid_bio *
2219 struct btrfs_raid_bio *rbio; in raid56_parity_alloc_scrub_rbio()
2249 void raid56_add_scrub_pages(struct btrfs_raid_bio *rbio, struct page *page, in raid56_add_scrub_pages()
2267 static int alloc_rbio_essential_pages(struct btrfs_raid_bio *rbio) in alloc_rbio_essential_pages()
2296 struct btrfs_raid_bio *rbio = bio->bi_private; in raid_write_parity_end_io()
2315 static noinline void finish_parity_scrub(struct btrfs_raid_bio *rbio, in finish_parity_scrub()
2476 static inline int is_data_stripe(struct btrfs_raid_bio *rbio, int stripe) in is_data_stripe()
2490 static void validate_rbio_for_parity_scrub(struct btrfs_raid_bio *rbio) in validate_rbio_for_parity_scrub()
2554 struct btrfs_raid_bio *rbio = bio->bi_private; in raid56_parity_scrub_end_io()
2574 static void raid56_parity_scrub_stripe(struct btrfs_raid_bio *rbio) in raid56_parity_scrub_stripe()
2664 struct btrfs_raid_bio *rbio; in scrub_parity_work()
2666 rbio = container_of(work, struct btrfs_raid_bio, work); in scrub_parity_work()
2670 static void async_scrub_parity(struct btrfs_raid_bio *rbio) in async_scrub_parity()
2679 void raid56_parity_submit_scrub_rbio(struct btrfs_raid_bio *rbio) in raid56_parity_submit_scrub_rbio()
2687 struct btrfs_raid_bio *
2691 struct btrfs_raid_bio *rbio; in raid56_alloc_missing_rbio()
2717 struct btrfs_raid_bio *rbio; in missing_raid56_work()
2719 rbio = container_of(work, struct btrfs_raid_bio, work); in missing_raid56_work()
2723 static void async_missing_raid56(struct btrfs_raid_bio *rbio) in async_missing_raid56()
2731 void raid56_submit_missing_rbio(struct btrfs_raid_bio *rbio) in raid56_submit_missing_rbio()