summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe
diff options
context:
space:
mode:
authoroster <oster@NetBSD.org>2004-03-19 02:34:30 +0000
committeroster <oster@NetBSD.org>2004-03-19 02:34:30 +0000
commitd3810da59bc868ba226af11931ba74af9f6fe75a (patch)
tree21fc0dec2dc89c7e0cdf62c26720d6734b5bce64 /sys/dev/raidframe
parent208b461a965141de431b2b96fc7300f068c12639 (diff)
Add a few comments to explain what some of these new structures are, and
where they are used.
Diffstat (limited to 'sys/dev/raidframe')
-rw-r--r--sys/dev/raidframe/rf_layout.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/sys/dev/raidframe/rf_layout.h b/sys/dev/raidframe/rf_layout.h
index 7008af1baed..8cb3636c59e 100644
--- a/sys/dev/raidframe/rf_layout.h
+++ b/sys/dev/raidframe/rf_layout.h
@@ -1,4 +1,4 @@
-/* $NetBSD: rf_layout.h,v 1.12 2004/03/19 02:27:44 oster Exp $ */
+/* $NetBSD: rf_layout.h,v 1.13 2004/03/19 02:34:30 oster Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@@ -163,23 +163,33 @@ struct RF_AccessStripeMapHeader_s {
RF_AccessStripeMapHeader_t *next;
};
+/* A structure to be used in a linked list to keep track of function pointers. */
typedef struct RF_VoidFunctionPointerListElem_s RF_VoidFunctionPointerListElem_t;
struct RF_VoidFunctionPointerListElem_s {
RF_VoidFuncPtr fn;
RF_VoidFunctionPointerListElem_t *next;
};
+
+/* A structure to be used in a linked list to keep track of ASM Headers */
typedef struct RF_ASMHeaderListElem_s RF_ASMHeaderListElem_t;
struct RF_ASMHeaderListElem_s {
RF_AccessStripeMapHeader_t *asmh;
RF_ASMHeaderListElem_t *next;
};
+/* A structure to keep track of all the data structures associated with
+a failed stripe. Used for constructing the appropriate DAGs in
+rf_SelectAlgorithm() in rf_aselect.c */
typedef struct RF_FailedStripe_s RF_FailedStripe_t;
struct RF_FailedStripe_s {
- RF_VoidFunctionPointerListElem_t *vfple;
- RF_VoidFunctionPointerListElem_t *bvfple;
- RF_ASMHeaderListElem_t *asmh_u;
- RF_ASMHeaderListElem_t *asmh_b;
+ RF_VoidFunctionPointerListElem_t *vfple; /* linked list of pointers to DAG creation
+ functions for stripes */
+ RF_VoidFunctionPointerListElem_t *bvfple; /* linked list of poitners to DAG creation
+ functions for blocks */
+ RF_ASMHeaderListElem_t *asmh_u; /* Access Stripe Map Headers for regular
+ stripes */
+ RF_ASMHeaderListElem_t *asmh_b; /* Access Stripe Map Headers used for the
+ block functions */
RF_FailedStripe_t *next;
};