aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/raid
diff options
context:
space:
mode:
authorNeil Brown <neilb@notabene.brown>2008-06-27 18:31:41 -0400
committerNeil Brown <neilb@notabene.brown>2008-06-27 18:31:41 -0400
commit72a23c211e4587859d5bf61ac4962d76e593fb02 (patch)
treeb35b554d7eb9c4b3a2cbc4d9378d362e5e56e44f /include/linux/raid
parent0fd62b861eac7d2dea9b7e939953b20f37186ea1 (diff)
Make sure all changes to md/sync_action are notified.
When the 'resync' thread starts or stops, when we explicitly set sync_action, or when we determine that there is definitely nothing to do, we notify sync_action. To stop "sync_action" from occasionally showing the wrong value, we introduce a new flags - MD_RECOVERY_RECOVER - to say that a recovery is probably needed or happening, and we make sure that we set MD_RECOVERY_RUNNING before clearing MD_RECOVERY_NEEDED. Signed-off-by: Neil Brown <neilb@suse.de>
Diffstat (limited to 'include/linux/raid')
-rw-r--r--include/linux/raid/md_k.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h
index 780e0613e6d5..62aa9c9a6ddc 100644
--- a/include/linux/raid/md_k.h
+++ b/include/linux/raid/md_k.h
@@ -188,6 +188,7 @@ struct mddev_s
188 * NEEDED: we might need to start a resync/recover 188 * NEEDED: we might need to start a resync/recover
189 * RUNNING: a thread is running, or about to be started 189 * RUNNING: a thread is running, or about to be started
190 * SYNC: actually doing a resync, not a recovery 190 * SYNC: actually doing a resync, not a recovery
191 * RECOVER: doing recovery, or need to try it.
191 * INTR: resync needs to be aborted for some reason 192 * INTR: resync needs to be aborted for some reason
192 * DONE: thread is done and is waiting to be reaped 193 * DONE: thread is done and is waiting to be reaped
193 * REQUEST: user-space has requested a sync (used with SYNC) 194 * REQUEST: user-space has requested a sync (used with SYNC)
@@ -198,6 +199,7 @@ struct mddev_s
198 */ 199 */
199#define MD_RECOVERY_RUNNING 0 200#define MD_RECOVERY_RUNNING 0
200#define MD_RECOVERY_SYNC 1 201#define MD_RECOVERY_SYNC 1
202#define MD_RECOVERY_RECOVER 2
201#define MD_RECOVERY_INTR 3 203#define MD_RECOVERY_INTR 3
202#define MD_RECOVERY_DONE 4 204#define MD_RECOVERY_DONE 4
203#define MD_RECOVERY_NEEDED 5 205#define MD_RECOVERY_NEEDED 5