summaryrefslogtreecommitdiffstats
path: root/lkm/vinum/state.c
diff options
context:
space:
mode:
Diffstat (limited to 'lkm/vinum/state.c')
-rw-r--r--lkm/vinum/state.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lkm/vinum/state.c b/lkm/vinum/state.c
index 2ce2ed0..928cb38 100644
--- a/lkm/vinum/state.c
+++ b/lkm/vinum/state.c
@@ -164,8 +164,12 @@ set_sd_state(int sdno, enum sdstate state, enum setstateflags flags)
printf("vinum: subdisk %s is %s\n", sd->name, sd_state(sd->state));
if ((flags & setstate_norecurse) == 0)
set_plex_state(sd->plexno, plex_up, setstate_recursing); /* update plex state */
- if ((flags & (setstate_configuring | setstate_recursing)) == 0) /* save config now */
- save_config();
+ if ((flags & (setstate_configuring | setstate_recursing)) == 0) { /* save config now */
+ if (setstate_noupdate) /* we can't update now, */
+ vinum_conf.flags |= VF_DIRTYCONFIG; /* wait until later */
+ else
+ save_config();
+ }
return status;
}
OpenPOWER on IntegriCloud