Lines Matching full:recovery
20 #include "recovery.h"
386 * dlm/gfs2 recovery coordination using dlm_recover callbacks
392 * 4. dlm_controld starts and finishes its own user level recovery
393 * 5. dlm_controld starts dlm-kernel dlm_recoverd to do kernel recovery
395 * 7. dlm_recoverd does its own lock recovery
401 * 13. gfs2_recover provides recovery results to gfs2_control (recovery_result)
405 * - failures during recovery
432 * - parallel recovery steps across all nodes
447 * and missing a journal recovery?
458 * require recovery, because the mount in step 4 could not have
462 * and returning. The mount in step 4 waits until the recovery in
468 * and recover any that need recovery before other nodes are allowed
478 * The mounted_lock is demoted to PR when first recovery is done, so
482 * mounter is doing first mount recovery of all journals.
485 * the first mount recovery, blocking mounts from other nodes, then demotes
493 * do first mounter recovery
505 * - mount during recovery
507 * If a node mounts while others are doing recovery (not first mounter),
523 * that jid N needs recovery.
682 * FIRST_MOUNT means this node is doing first mounter recovery, in gfs2_control_func()
683 * for which recovery control is handled by in gfs2_control_func()
698 * dlm recovery is in progress and dlm locking is blocked. in gfs2_control_func()
707 * dlm_recoverd adds to recover_submit[] jids needing recovery in gfs2_control_func()
708 * gfs2_recover adds to recover_result[] journal recovery results in gfs2_control_func()
714 * the journal recovery is SUCCESS in gfs2_control_func()
742 * in succession. Only the first will really do recovery, in gfs2_control_func()
744 * recovery. So, another node may have already recovered in gfs2_control_func()
808 * and clear a jid bit in the lvb if the recovery is a success. in gfs2_control_func()
825 * No more jid bits set in lvb, all recovery is done, unblock locks in gfs2_control_func()
893 * Other nodes need to do some work in dlm recovery and gfs2_control in control_mount()
916 * we cannot do the first-mount responsibility it implies: recovery. in control_mount()
962 /* first mounter, keep both EX while doing first recovery */ in control_mount()
983 /* journals need recovery, wait until all are clear */ in control_mount()
984 fs_info(sdp, "control_mount wait for journal recovery\n"); in control_mount()
995 generation, which might include new recovery bits set */ in control_mount()
997 fs_info(sdp, "Recovery is required. Waiting for a " in control_mount()
1012 latest recovery generation */ in control_mount()
1021 /* dlm recovery in progress, wait for it to finish */ in control_mount()
1066 * Wait for the end of a dlm recovery cycle to switch from in control_first_done()
1067 * first mounter recovery. We can ignore any recover_slot in control_first_done()
1070 * have not fully mounted, so they don't need recovery. in control_first_done()
1167 /* dlm calls before it does lock recovery */
1221 /* dlm calls after recover_slot and after it completes lock recovery */
1253 /* gfs2_recover thread has a journal recovery result */
1268 /* don't care about the recovery of own journal during mount */ in gdlm_recovery_result()
1429 /* mounted_lock and control_lock will be purged in dlm recovery */ in gdlm_unmount()