summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe/rf_raid.h
diff options
context:
space:
mode:
authorPeter Galbavy <peter@cvs.openbsd.org>2000-01-07 14:50:24 +0000
committerPeter Galbavy <peter@cvs.openbsd.org>2000-01-07 14:50:24 +0000
commitd7921cbd0ec1beed703dd2b35ce6236d09fa0f12 (patch)
tree7193c433c334b83730ba6636e8b5e2007148d29f /sys/dev/raidframe/rf_raid.h
parent67a89310ea3a36e9b3d504382073e820f07a019a (diff)
sync with work by Greg Oster on NetBSD
Please note: This update has *only* been tested on i386 with IDE disks. Could someone with a spare box please make sure all is OK with SCSI and maybe other arches ? sparc testing will follow locally. * remove rf_sys.h * many changes to make it more stable * some performance increases * All raid threads now get their own kernel process and the calling raidctl(8) program will show status progress through a meter. * In theory FFS_SOFTUPDATES and RAIDframe will now work together - NOT TESTED YET See http://www.cs.usask.ca/staff/oster/raid.html This updates include Greg's changes to Jan 4th 2000. TODO: * some odd behaviour when running raictl -c on an already config'ed raid set - problem founf, fix being done * progress meter is in raidctl(8) - seperate commit, but could do with sync'ing with OpenBSD ftp version
Diffstat (limited to 'sys/dev/raidframe/rf_raid.h')
-rw-r--r--sys/dev/raidframe/rf_raid.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/sys/dev/raidframe/rf_raid.h b/sys/dev/raidframe/rf_raid.h
index dc106a9e767..8efbc6639ee 100644
--- a/sys/dev/raidframe/rf_raid.h
+++ b/sys/dev/raidframe/rf_raid.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: rf_raid.h,v 1.4 1999/08/04 13:10:55 peter Exp $ */
-/* $NetBSD: rf_raid.h,v 1.6 1999/07/08 00:45:24 oster Exp $ */
+/* $OpenBSD: rf_raid.h,v 1.5 2000/01/07 14:50:22 peter Exp $ */
+/* $NetBSD: rf_raid.h,v 1.8 2000/01/05 02:57:29 oster Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -181,14 +181,24 @@ struct RF_Raid_s {
RF_ThroughputStats_t throughputstats;
#endif /* !_KERNEL && !SIMULATE */
RF_CumulativeStats_t userstats;
+ int parity_rewrite_stripes_done;
+ int recon_stripes_done;
+ int copyback_stripes_done;
+
+ int recon_in_progress;
+ int parity_rewrite_in_progress;
+ int copyback_in_progress;
/*
* Engine thread control
*/
- RF_DECLARE_MUTEX(node_queue_mutex)
- RF_DECLARE_COND(node_queue_cond)
+ RF_DECLARE_MUTEX(node_queue_mutex)
+ RF_DECLARE_COND(node_queue_cond)
RF_DagNode_t *node_queue;
+ RF_Thread_t parity_rewrite_thread;
+ RF_Thread_t copyback_thread;
RF_Thread_t engine_thread;
+ RF_Thread_t recon_thread;
RF_ThreadGroup_t engine_tg;
int shutdown_engine;
int dags_in_flight; /* debug */
@@ -226,7 +236,6 @@ struct RF_Raid_s {
int keep_acc_totals;
struct raidcinfo **raid_cinfo; /* array of component info */
- struct proc *proc; /* XXX shouldn't be needed here.. :-p */
int terminate_disk_queues;