summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe
diff options
context:
space:
mode:
authoroster <oster@NetBSD.org>2005-02-06 02:29:36 +0000
committeroster <oster@NetBSD.org>2005-02-06 02:29:36 +0000
commit04a30b5e7853764c88d03fdfd69921da7e77ce0f (patch)
treed0d3a0643eeed2af3abff04b37cd024ce9aa8927 /sys/dev/raidframe
parentfd4afa037b6fc53742a3f54420f2d054439bc3bd (diff)
It's not a bad idea to update the component labels whether or not the
reconstruction was successful.
Diffstat (limited to 'sys/dev/raidframe')
-rw-r--r--sys/dev/raidframe/rf_reconstruct.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/sys/dev/raidframe/rf_reconstruct.c b/sys/dev/raidframe/rf_reconstruct.c
index 960a9244fdb..715c33ab8ca 100644
--- a/sys/dev/raidframe/rf_reconstruct.c
+++ b/sys/dev/raidframe/rf_reconstruct.c
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_reconstruct.c,v 1.83 2005/02/05 23:39:12 oster Exp $ */
+/* $NetBSD: rf_reconstruct.c,v 1.84 2005/02/06 02:29:36 oster Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -33,7 +33,7 @@
************************************************************/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_reconstruct.c,v 1.83 2005/02/05 23:39:12 oster Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_reconstruct.c,v 1.84 2005/02/06 02:29:36 oster Exp $");
#include <sys/time.h>
#include <sys/buf.h>
@@ -320,10 +320,6 @@ rf_ReconstructFailedDiskBasic(RF_Raid_t *raidPtr, RF_RowCol_t col)
raidPtr->raid_cinfo[scol].ci_dev,
raidPtr->raid_cinfo[scol].ci_vp,
&c_label);
-
-
- rf_update_component_labels(raidPtr,
- RF_NORMAL_COMPONENT_UPDATE);
} else {
/* Reconstruct failed. */
@@ -335,7 +331,9 @@ rf_ReconstructFailedDiskBasic(RF_Raid_t *raidPtr, RF_RowCol_t col)
/* Spare disk goes back to "spare" status. */
spareDiskPtr->status = rf_ds_spare;
RF_UNLOCK_MUTEX(raidPtr->mutex);
+
}
+ rf_update_component_labels(raidPtr, RF_NORMAL_COMPONENT_UPDATE);
return (rc);
}
@@ -545,8 +543,6 @@ rf_ReconstructInPlace(RF_Raid_t *raidPtr, RF_RowCol_t col)
raidPtr->raid_cinfo[col].ci_vp,
&c_label);
- rf_update_component_labels(raidPtr,
- RF_NORMAL_COMPONENT_UPDATE);
} else {
/* Reconstruct-in-place failed. Disk goes back to
"failed" status, regardless of what it was before. */
@@ -555,6 +551,8 @@ rf_ReconstructInPlace(RF_Raid_t *raidPtr, RF_RowCol_t col)
RF_UNLOCK_MUTEX(raidPtr->mutex);
}
+ rf_update_component_labels(raidPtr, RF_NORMAL_COMPONENT_UPDATE);
+
RF_LOCK_MUTEX(raidPtr->mutex);
raidPtr->reconInProgress--;
RF_UNLOCK_MUTEX(raidPtr->mutex);