Lines Matching defs:recovery

1106  *    [[no]sync]			Force or prevent recovery of the
1173 * 4) Device hadn't completed recovery after previous failure.
1483 rs->ti->error = "Bogus recovery rates";
1674 /* Setup recovery on @rs */
1688 * Other raid set types may skip recovery
2007 * - ongoing recovery
2418 * Partial recovery is performed on
2478 clear_bit(In_sync, &rdev->flags); /* Mandatory for recovery */
2672 * avoid false recovery positives in the constructor.
3149 * one, prohibit requesting recovery, allow the raid
3161 /* Takeover ain't recovery, so disable recovery */
3193 /* Reshaping ain't recovery, so disable recovery */
3199 /* May not set recovery when a device rebuild is requested */
3239 set_bit(MD_RECOVERY_FROZEN, &rs->md.recovery);
3358 /* Return enum sync_state for @mddev derived from @recovery flags */
3359 static enum sync_state decipher_sync_action(struct mddev *mddev, unsigned long recovery)
3361 if (test_bit(MD_RECOVERY_FROZEN, &recovery))
3365 if (!test_bit(MD_RECOVERY_DONE, &recovery) &&
3366 (test_bit(MD_RECOVERY_RUNNING, &recovery) ||
3367 (!mddev->ro && test_bit(MD_RECOVERY_NEEDED, &recovery)))) {
3368 if (test_bit(MD_RECOVERY_RESHAPE, &recovery))
3371 if (test_bit(MD_RECOVERY_SYNC, &recovery)) {
3372 if (!test_bit(MD_RECOVERY_REQUESTED, &recovery))
3374 if (test_bit(MD_RECOVERY_CHECK, &recovery))
3379 if (test_bit(MD_RECOVERY_RECOVER, &recovery))
3416 static sector_t rs_get_progress(struct raid_set *rs, unsigned long recovery,
3430 if (state == st_idle && !test_bit(MD_RECOVERY_INTR, &recovery))
3440 if (test_bit(MD_RECOVERY_RECOVER, &recovery))
3448 * Already retrieved recovery offset from curr_resync_completed above.
3468 else if (test_bit(MD_RECOVERY_NEEDED, &recovery))
3470 * We are idle and recovery is needed, prevent 'A' chars race
3510 unsigned long recovery;
3532 recovery = rs->md.recovery;
3533 state = decipher_sync_action(mddev, recovery);
3534 progress = rs_get_progress(rs, recovery, state, resync_max_sectors);
3679 recovery = rs->md.recovery;
3680 state = decipher_sync_action(mddev, recovery);
3719 set_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
3721 clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
3725 set_bit(MD_RECOVERY_INTR, &mddev->recovery);
3728 } else if (decipher_sync_action(mddev, mddev->recovery) != st_idle)
3733 set_bit(MD_RECOVERY_RECOVER, &mddev->recovery);
3736 set_bit(MD_RECOVERY_CHECK, &mddev->recovery);
3737 set_bit(MD_RECOVERY_REQUESTED, &mddev->recovery);
3738 set_bit(MD_RECOVERY_SYNC, &mddev->recovery);
3740 set_bit(MD_RECOVERY_REQUESTED, &mddev->recovery);
3741 set_bit(MD_RECOVERY_SYNC, &mddev->recovery);
3753 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
3793 if (!test_bit(MD_RECOVERY_FROZEN, &rs->md.recovery))
3820 /* HM FIXME: enhance journal device recovery processing */
3926 set_bit(MD_RECOVERY_WAIT, &mddev->recovery);
4011 set_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
4013 set_bit(MD_RECOVERY_REQUESTED, &mddev->recovery);
4056 clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery);