Commit 0476d09c authored by Yu Kuai's avatar Yu Kuai Committed by Song Liu
Browse files

md: rearrange recovery_flags



Currently there are lots of flags with the same confusing prefix
"MD_REOCVERY_", and there are two main types of flags, sync thread runnng
status, I prefer prefix "SYNC_THREAD_", and sync thread action, I perfer
prefix "SYNC_ACTION_".

For now, rearrange and update comment to improve code readability,
there are no functional changes.

Signed-off-by: default avatarYu Kuai <yukuai3@huawei.com>
Signed-off-by: default avatarSong Liu <song@kernel.org>
Link: https://lore.kernel.org/r/20240611132251.1967786-2-yukuai1@huaweicloud.com
parent ab99a875
Loading
Loading
Loading
Loading
+38 −14
Original line number Diff line number Diff line
@@ -551,22 +551,46 @@ struct mddev {
};

enum recovery_flags {
	/* flags for sync thread running status */

	/*
	 * set when one of sync action is set and new sync thread need to be
	 * registered, or just add/remove spares from conf.
	 */
	MD_RECOVERY_NEEDED,
	/* sync thread is running, or about to be started */
	MD_RECOVERY_RUNNING,
	/* sync thread needs to be aborted for some reason */
	MD_RECOVERY_INTR,
	/* sync thread is done and is waiting to be unregistered */
	MD_RECOVERY_DONE,
	/* running sync thread must abort immediately, and not restart */
	MD_RECOVERY_FROZEN,
	/* waiting for pers->start() to finish */
	MD_RECOVERY_WAIT,
	/* interrupted because io-error */
	MD_RECOVERY_ERROR,

	/* flags determines sync action */

	/* if just this flag is set, action is resync. */
	MD_RECOVERY_SYNC,
	/*
	 * paired with MD_RECOVERY_SYNC, if MD_RECOVERY_CHECK is not set,
	 * action is repair, means user requested resync.
	 */
	MD_RECOVERY_REQUESTED,
	/*
	 * If neither SYNC or RESHAPE are set, then it is a recovery.
	 */
	MD_RECOVERY_RUNNING,	/* a thread is running, or about to be started */
	MD_RECOVERY_SYNC,	/* actually doing a resync, not a recovery */
	MD_RECOVERY_RECOVER,	/* doing recovery, or need to try it. */
	MD_RECOVERY_INTR,	/* resync needs to be aborted for some reason */
	MD_RECOVERY_DONE,	/* thread is done and is waiting to be reaped */
	MD_RECOVERY_NEEDED,	/* we might need to start a resync/recover */
	MD_RECOVERY_REQUESTED,	/* user-space has requested a sync (used with SYNC) */
	MD_RECOVERY_CHECK,	/* user-space request for check-only, no repair */
	MD_RECOVERY_RESHAPE,	/* A reshape is happening */
	MD_RECOVERY_FROZEN,	/* User request to abort, and not restart, any action */
	MD_RECOVERY_ERROR,	/* sync-action interrupted because io-error */
	MD_RECOVERY_WAIT,	/* waiting for pers->start() to finish */
	MD_RESYNCING_REMOTE,	/* remote node is running resync thread */
	 * paired with MD_RECOVERY_SYNC and MD_RECOVERY_REQUESTED, action is
	 * check.
	 */
	MD_RECOVERY_CHECK,
	/* recovery, or need to try it */
	MD_RECOVERY_RECOVER,
	/* reshape */
	MD_RECOVERY_RESHAPE,
	/* remote node is running resync thread */
	MD_RESYNCING_REMOTE,
};

enum md_ro_state {