Lines Matching refs:recover
81 struct scrub_recover *recover; member
261 return page->recover && in scrub_is_page_on_raid56()
262 (page->recover->bbio->map_type & BTRFS_BLOCK_GROUP_RAID56_MASK); in scrub_is_page_on_raid56()
798 static inline void scrub_get_recover(struct scrub_recover *recover) in scrub_get_recover() argument
800 refcount_inc(&recover->refs); in scrub_get_recover()
804 struct scrub_recover *recover) in scrub_put_recover() argument
806 if (refcount_dec_and_test(&recover->refs)) { in scrub_put_recover()
808 btrfs_put_bbio(recover->bbio); in scrub_put_recover()
809 kfree(recover); in scrub_put_recover()
1033 struct scrub_recover *r = sblock_bad->pagev[0]->recover; in scrub_handle_errored_block()
1200 struct scrub_recover *recover; in scrub_handle_errored_block() local
1206 recover = sblock->pagev[page_index]->recover; in scrub_handle_errored_block()
1207 if (recover) { in scrub_handle_errored_block()
1208 scrub_put_recover(fs_info, recover); in scrub_handle_errored_block()
1209 sblock->pagev[page_index]->recover = in scrub_handle_errored_block()
1275 struct scrub_recover *recover; in scrub_setup_recheck_block() local
1310 recover = kzalloc(sizeof(struct scrub_recover), GFP_NOFS); in scrub_setup_recheck_block()
1311 if (!recover) { in scrub_setup_recheck_block()
1317 refcount_set(&recover->refs, 1); in scrub_setup_recheck_block()
1318 recover->bbio = bbio; in scrub_setup_recheck_block()
1319 recover->map_length = mapped_length; in scrub_setup_recheck_block()
1339 scrub_put_recover(fs_info, recover); in scrub_setup_recheck_block()
1378 scrub_get_recover(recover); in scrub_setup_recheck_block()
1379 page->recover = recover; in scrub_setup_recheck_block()
1381 scrub_put_recover(fs_info, recover); in scrub_setup_recheck_block()
1408 ret = raid56_parity_recover(fs_info, bio, page->recover->bbio, in scrub_submit_raid56_bio_wait()
1409 page->recover->map_length, in scrub_submit_raid56_bio_wait()