summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe
diff options
context:
space:
mode:
authoroster <oster@NetBSD.org>2000-08-19 18:07:36 +0000
committeroster <oster@NetBSD.org>2000-08-19 18:07:36 +0000
commit3a17c9470d61a4b11109ace7df444c627eff7101 (patch)
treef0fa4c41901459da4bc4da323dd9964154b96efd /sys/dev/raidframe
parentd3b573e04aab16e1bd2aae3529bb9d19795c0224 (diff)
Don't try to initialize a component label on a failed component.
Diffstat (limited to 'sys/dev/raidframe')
-rw-r--r--sys/dev/raidframe/rf_netbsdkintf.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/sys/dev/raidframe/rf_netbsdkintf.c b/sys/dev/raidframe/rf_netbsdkintf.c
index cbec5516f42..3462910bc8e 100644
--- a/sys/dev/raidframe/rf_netbsdkintf.c
+++ b/sys/dev/raidframe/rf_netbsdkintf.c
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_netbsdkintf.c,v 1.93 2000/07/14 15:26:29 oster Exp $ */
+/* $NetBSD: rf_netbsdkintf.c,v 1.94 2000/08/19 18:07:36 oster Exp $ */
/*-
* Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -1059,12 +1059,14 @@ raidioctl(dev, cmd, data, flag, p)
ci_label.row = row;
for(column=0;column<raidPtr->numCol;column++) {
diskPtr = &raidPtr->Disks[row][column];
- ci_label.partitionSize = diskPtr->partitionSize;
- ci_label.column = column;
- raidwrite_component_label(
- raidPtr->Disks[row][column].dev,
- raidPtr->raid_cinfo[row][column].ci_vp,
- &ci_label );
+ if (diskPtr->status != rf_ds_failed) {
+ ci_label.partitionSize = diskPtr->partitionSize;
+ ci_label.column = column;
+ raidwrite_component_label(
+ raidPtr->Disks[row][column].dev,
+ raidPtr->raid_cinfo[row][column].ci_vp,
+ &ci_label );
+ }
}
}