diff options
| author | oster <oster@NetBSD.org> | 2005-02-06 02:29:36 +0000 |
|---|---|---|
| committer | oster <oster@NetBSD.org> | 2005-02-06 02:29:36 +0000 |
| commit | 04a30b5e7853764c88d03fdfd69921da7e77ce0f (patch) | |
| tree | d0d3a0643eeed2af3abff04b37cd024ce9aa8927 /sys/dev/raidframe | |
| parent | fd4afa037b6fc53742a3f54420f2d054439bc3bd (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.c | 14 |
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); |
