diff options
author | Neil Brown <neilb@suse.de> | 2008-06-12 02:13:32 +0200 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2008-06-12 02:13:32 +0200 |
commit | 7e1432fb14bb7d362821b8c62dd282e67c536efe (patch) | |
tree | 3703df447fe50a1e1f255dec81925724e1830f67 /monitor.c | |
parent | Support adding a spare to a degraded array. (diff) | |
download | mdadm-7e1432fb14bb7d362821b8c62dd282e67c536efe.tar.xz mdadm-7e1432fb14bb7d362821b8c62dd282e67c536efe.zip |
Add DDF code for activate_spare
Plus various bug fixes etc.
Diffstat (limited to 'monitor.c')
-rw-r--r-- | monitor.c | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -271,7 +271,6 @@ static int read_and_act(struct active_array *a) } } - for (mdi = a->info.devs ; mdi ; mdi = mdi->next) { if (mdi->curr_state & DS_FAULTY) { a->container->ss->set_disk(a, mdi->disk.raid_disk, @@ -281,12 +280,6 @@ static int read_and_act(struct active_array *a) } } - if (check_degraded) { - /* manager will do the actual check */ - a->check_degraded = 1; - signal_manager(); - } - a->container->ss->sync_metadata(a->container); /* Effect state changes in the array */ @@ -323,6 +316,12 @@ static int read_and_act(struct active_array *a) mdi->next_state = 0; } + if (check_degraded) { + /* manager will do the actual check */ + a->check_degraded = 1; + signal_manager(); + } + if (deactivate) a->container = NULL; |