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
2006 * - ongoing recovery
2421 * Partial recovery is performed on
2481 clear_bit(In_sync, &rdev->flags); /* Mandatory for recovery */
2675 * avoid false recovery positives in the constructor.
3156 * one, prohibit requesting recovery, allow the raid
3168 /* Takeover ain't recovery, so disable recovery */
3200 /* Reshaping ain't recovery, so disable recovery */
3206 /* May not set recovery when a device rebuild is requested */
3246 set_bit(MD_RECOVERY_FROZEN, &rs->md.recovery);
3365 /* Return enum sync_state for @mddev derived from @recovery flags */
3366 static enum sync_state decipher_sync_action(struct mddev *mddev, unsigned long recovery)
3368 if (test_bit(MD_RECOVERY_FROZEN, &recovery))
3372 if (!test_bit(MD_RECOVERY_DONE, &recovery) &&
3373 (test_bit(MD_RECOVERY_RUNNING, &recovery) ||
3374 (!mddev->ro && test_bit(MD_RECOVERY_NEEDED, &recovery)))) {
3375 if (test_bit(MD_RECOVERY_RESHAPE, &recovery))
3378 if (test_bit(MD_RECOVERY_SYNC, &recovery)) {
3379 if (!test_bit(MD_RECOVERY_REQUESTED, &recovery))
3381 if (test_bit(MD_RECOVERY_CHECK, &recovery))
3386 if (test_bit(MD_RECOVERY_RECOVER, &recovery))
3423 static sector_t rs_get_progress(struct raid_set *rs, unsigned long recovery,
3437 if (state == st_idle && !test_bit(MD_RECOVERY_INTR, &recovery))
3447 if (test_bit(MD_RECOVERY_RECOVER, &recovery))
3455 * Already retrieved recovery offset from curr_resync_completed above.
3475 else if (test_bit(MD_RECOVERY_NEEDED, &recovery))
3477 * We are idle and recovery is needed, prevent 'A' chars race
3517 unsigned long recovery;
3539 recovery = rs->md.recovery;
3540 state = decipher_sync_action(mddev, recovery);
3541 progress = rs_get_progress(rs, recovery, state, resync_max_sectors);
3687 set_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
3689 clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
3693 set_bit(MD_RECOVERY_INTR, &mddev->recovery);
3696 } else if (decipher_sync_action(mddev, mddev->recovery) != st_idle)
3701 set_bit(MD_RECOVERY_RECOVER, &mddev->recovery);
3704 set_bit(MD_RECOVERY_CHECK, &mddev->recovery);
3705 set_bit(MD_RECOVERY_REQUESTED, &mddev->recovery);
3706 set_bit(MD_RECOVERY_SYNC, &mddev->recovery);
3708 set_bit(MD_RECOVERY_REQUESTED, &mddev->recovery);
3709 set_bit(MD_RECOVERY_SYNC, &mddev->recovery);
3721 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
3770 if (!test_bit(MD_RECOVERY_FROZEN, &rs->md.recovery))
3797 /* HM FIXME: enhance journal device recovery processing */
3903 set_bit(MD_RECOVERY_WAIT, &mddev->recovery);
3988 set_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
3990 set_bit(MD_RECOVERY_REQUESTED, &mddev->recovery);
4031 clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery);