Lines Matching refs:recover

90 	struct scrub_recover	*recover;  member
867 static inline void scrub_get_recover(struct scrub_recover *recover) in scrub_get_recover() argument
869 atomic_inc(&recover->refs); in scrub_get_recover()
872 static inline void scrub_put_recover(struct scrub_recover *recover) in scrub_put_recover() argument
874 if (atomic_dec_and_test(&recover->refs)) { in scrub_put_recover()
875 btrfs_put_bbio(recover->bbio); in scrub_put_recover()
876 kfree(recover); in scrub_put_recover()
1256 struct scrub_recover *recover; in scrub_handle_errored_block() local
1262 recover = sblock->pagev[page_index]->recover; in scrub_handle_errored_block()
1263 if (recover) { in scrub_handle_errored_block()
1264 scrub_put_recover(recover); in scrub_handle_errored_block()
1265 sblock->pagev[page_index]->recover = in scrub_handle_errored_block()
1324 struct scrub_recover *recover; in scrub_setup_recheck_block() local
1357 recover = kzalloc(sizeof(struct scrub_recover), GFP_NOFS); in scrub_setup_recheck_block()
1358 if (!recover) { in scrub_setup_recheck_block()
1363 atomic_set(&recover->refs, 1); in scrub_setup_recheck_block()
1364 recover->bbio = bbio; in scrub_setup_recheck_block()
1365 recover->map_length = mapped_length; in scrub_setup_recheck_block()
1384 scrub_put_recover(recover); in scrub_setup_recheck_block()
1415 scrub_get_recover(recover); in scrub_setup_recheck_block()
1416 page->recover = recover; in scrub_setup_recheck_block()
1418 scrub_put_recover(recover); in scrub_setup_recheck_block()
1442 return page->recover && in scrub_is_page_on_raid56()
1443 (page->recover->bbio->map_type & BTRFS_BLOCK_GROUP_RAID56_MASK); in scrub_is_page_on_raid56()
1459 ret = raid56_parity_recover(fs_info->fs_root, bio, page->recover->bbio, in scrub_submit_raid56_bio_wait()
1460 page->recover->map_length, in scrub_submit_raid56_bio_wait()