Lines Matching full:recovery

137  * When performing a recovery, we need 2 bios, one for read,
154 if (test_bit(MD_RECOVERY_SYNC, &conf->mddev->recovery) || in r10buf_pool_alloc()
155 test_bit(MD_RECOVERY_RESHAPE, &conf->mddev->recovery)) in r10buf_pool_alloc()
158 nalloc = 2; /* recovery */ in r10buf_pool_alloc()
201 &conf->mddev->recovery)) { in r10buf_pool_alloc()
502 &rdev->mddev->recovery); in raid10_end_write_request()
677 * or recovery, so reshape isn't happening in raid10_find_virt()
918 * either some resync/recovery, or reconfigure the array.
1081 if (!test_bit(MD_RECOVERY_RESHAPE, &rdev->mddev->recovery) || in choose_data_offset()
1131 while (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery) && in regular_request_wait()
1365 if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery) && in raid10_write_request()
1603 if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery)) in raid10_handle_discard()
1612 if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery)) in raid10_handle_discard()
1982 * - recovery is interrupted.
2006 set_bit(MD_RECOVERY_INTR, &mddev->recovery); in raid10_error()
2108 /* only hot-add to in-sync arrays, as recovery is in raid10_add_disk()
2185 /* Only remove non-faulty devices if recovery in raid10_remove_disk()
2261 /* the primary of several recovery bios */ in end_sync_request()
2305 &rdev->mddev->recovery); in end_sync_write()
2394 if (test_bit(MD_RECOVERY_CHECK, &mddev->recovery)) in sync_request_write()
2450 * Now for the recovery code.
2451 * Recovery happens across physical sectors.
2461 /* We got a read error during recovery. in fix_recovery_read_error()
2507 &rdev->mddev->recovery); in fix_recovery_read_error()
2523 /* just abort the recovery */ in fix_recovery_read_error()
2524 pr_notice("md/raid10:%s: recovery aborted due to read error\n", in fix_recovery_read_error()
2528 &mddev->recovery); in fix_recovery_read_error()
2591 &rdev->mddev->recovery); in r10_sync_page_io()
3051 if (test_bit(MD_RECOVERY_SYNC, &conf->mddev->recovery) || in raid10_alloc_init_r10buf()
3052 test_bit(MD_RECOVERY_RESHAPE, &conf->mddev->recovery)) in raid10_alloc_init_r10buf()
3055 nalloc = 2; /* recovery */ in raid10_alloc_init_r10buf()
3118 * Resync and recovery are handled very differently.
3119 * We differentiate by looking at MD_RECOVERY_SYNC in mddev->recovery.
3124 * For recovery, we iterate over physical addresses, read a good
3127 * So, for recovery we may have several outstanding complex requests for a
3161 !test_bit(MD_RECOVERY_SYNC, &mddev->recovery) && in raid10_sync_request()
3162 !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery) && in raid10_sync_request()
3163 !test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery) && in raid10_sync_request()
3182 * mddev->curr_resync, but for recovery, in raid10_sync_request()
3186 if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery)) { in raid10_sync_request()
3193 if (test_bit(MD_RECOVERY_SYNC, &mddev->recovery)) in raid10_sync_request()
3206 && test_bit(MD_RECOVERY_SYNC, &mddev->recovery)) { in raid10_sync_request()
3227 if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery)) in raid10_sync_request()
3247 /* Again, very different code for resync and recovery. in raid10_sync_request()
3251 * For recovery, we may actually create several r10bios in raid10_sync_request()
3263 if (!test_bit(MD_RECOVERY_SYNC, &mddev->recovery)) { in raid10_sync_request()
3264 /* recovery... the complicated one */ in raid10_sync_request()
3432 /* Cannot recover, so abort the recovery or in raid10_sync_request()
3453 pr_warn("md/raid10:%s: cannot recovery sector %llu + %d.\n", in raid10_sync_request()
3517 &mddev->recovery)) { in raid10_sync_request()
3643 test_bit(MD_RECOVERY_SYNC, &mddev->recovery)) { in raid10_sync_request()
3644 /* It is resync not recovery */ in raid10_sync_request()
3654 /* This is recovery not resync */ in raid10_sync_request()
3660 * sector_nr is a device address for recovery, so we in raid10_sync_request()
4101 clear_bit(MD_RECOVERY_SYNC, &mddev->recovery); in raid10_run()
4102 clear_bit(MD_RECOVERY_CHECK, &mddev->recovery); in raid10_run()
4103 set_bit(MD_RECOVERY_RESHAPE, &mddev->recovery); in raid10_run()
4104 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); in raid10_run()
4172 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); in raid10_resize()
4367 if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery)) in raid10_start_reshape()
4518 clear_bit(MD_RECOVERY_SYNC, &mddev->recovery); in raid10_start_reshape()
4519 clear_bit(MD_RECOVERY_CHECK, &mddev->recovery); in raid10_start_reshape()
4520 clear_bit(MD_RECOVERY_DONE, &mddev->recovery); in raid10_start_reshape()
4521 set_bit(MD_RECOVERY_RESHAPE, &mddev->recovery); in raid10_start_reshape()
4522 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); in raid10_start_reshape()
4528 mddev->recovery = 0; in raid10_start_reshape()
4715 test_bit(MD_RECOVERY_INTR, &mddev->recovery)); in reshape_request()
4716 if (test_bit(MD_RECOVERY_INTR, &mddev->recovery)) { in reshape_request()
4744 set_bit(MD_RECOVERY_INTR, &mddev->recovery); in reshape_request()
4905 if (test_bit(MD_RECOVERY_INTR, &conf->mddev->recovery)) in end_reshape()
4954 set_bit(MD_RECOVERY_INTR, &mddev->recovery); in handle_reshape_read_error()
5001 &mddev->recovery); in handle_reshape_read_error()
5050 if (test_bit(MD_RECOVERY_INTR, &mddev->recovery)) in raid10_finish_reshape()
5059 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); in raid10_finish_reshape()