Lines Matching refs:recover

90 	struct scrub_recover	*recover;  member
859 static inline void scrub_get_recover(struct scrub_recover *recover) in scrub_get_recover() argument
861 atomic_inc(&recover->refs); in scrub_get_recover()
864 static inline void scrub_put_recover(struct scrub_recover *recover) in scrub_put_recover() argument
866 if (atomic_dec_and_test(&recover->refs)) { in scrub_put_recover()
867 btrfs_put_bbio(recover->bbio); in scrub_put_recover()
868 kfree(recover); in scrub_put_recover()
1239 struct scrub_recover *recover; in scrub_handle_errored_block() local
1245 recover = sblock->pagev[page_index]->recover; in scrub_handle_errored_block()
1246 if (recover) { in scrub_handle_errored_block()
1247 scrub_put_recover(recover); in scrub_handle_errored_block()
1248 sblock->pagev[page_index]->recover = in scrub_handle_errored_block()
1310 struct scrub_recover *recover; in scrub_setup_recheck_block() local
1343 recover = kzalloc(sizeof(struct scrub_recover), GFP_NOFS); in scrub_setup_recheck_block()
1344 if (!recover) { in scrub_setup_recheck_block()
1349 atomic_set(&recover->refs, 1); in scrub_setup_recheck_block()
1350 recover->bbio = bbio; in scrub_setup_recheck_block()
1351 recover->map_length = mapped_length; in scrub_setup_recheck_block()
1371 scrub_put_recover(recover); in scrub_setup_recheck_block()
1410 scrub_get_recover(recover); in scrub_setup_recheck_block()
1411 page->recover = recover; in scrub_setup_recheck_block()
1413 scrub_put_recover(recover); in scrub_setup_recheck_block()
1437 return page->recover && in scrub_is_page_on_raid56()
1438 (page->recover->bbio->map_type & BTRFS_BLOCK_GROUP_RAID56_MASK); in scrub_is_page_on_raid56()
1454 ret = raid56_parity_recover(fs_info->fs_root, bio, page->recover->bbio, in scrub_submit_raid56_bio_wait()
1455 page->recover->map_length, in scrub_submit_raid56_bio_wait()