summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgrog <grog@FreeBSD.org>1999-08-07 08:05:19 +0000
committergrog <grog@FreeBSD.org>1999-08-07 08:05:19 +0000
commit34ea895440f9e3c37cec9b51e0a48eebb0c6ffb6 (patch)
treecf81636ca61cdd7cf9d26d53bdcd90f772b1abdb
parentd0cd16077589e3d718b061c8ef94b00f7288123b (diff)
downloadFreeBSD-src-34ea895440f9e3c37cec9b51e0a48eebb0c6ffb6.zip
FreeBSD-src-34ea895440f9e3c37cec9b51e0a48eebb0c6ffb6.tar.gz
Rework many comments.
requeststatus: add REQUEST_DEGRADED status struct rqinfo: add members devmajor and devminor to compensate for lost dev_t.
-rw-r--r--sys/dev/vinum/request.h39
1 files changed, 20 insertions, 19 deletions
diff --git a/sys/dev/vinum/request.h b/sys/dev/vinum/request.h
index b070f85..66e004c 100644
--- a/sys/dev/vinum/request.h
+++ b/sys/dev/vinum/request.h
@@ -33,7 +33,7 @@
* otherwise) arising in any way out of the use of this software, even if
* advised of the possibility of such damage.
*
- * $Id: request.h,v 1.14 1999/03/16 03:37:50 grog Exp grog $
+ * $Id: request.h,v 1.15 1999/07/05 02:39:00 grog Exp grog $
*/
/* Information needed to set up a transfer */
@@ -85,16 +85,14 @@ struct rqelement {
daddr_t sdoffset; /* offset in subdisk */
int useroffset; /* offset in user buffer of normal data */
/*
- * dataoffset and datalen refer to
- * "individual" data transfers which involve
- * only this drive (normal read, parityless
- * write) and also degraded write.
+ * dataoffset and datalen refer to "individual" data
+ * transfers which involve only this drive (normal read,
+ * parityless write) and also degraded write.
*
- * groupoffset and grouplen refer to the other
- * "group" operations (normal write, recovery
- * read) which involve more than one drive.
- * Both the offsets are relative to the start
- * of the local buffer.
+ * groupoffset and grouplen refer to the other "group"
+ * operations (normal write, recovery read) which involve
+ * more than one drive. Both the offsets are relative to
+ * the start of the local buffer.
*/
int dataoffset; /* offset in buffer of the normal data */
int groupoffset; /* offset in buffer of group data */
@@ -108,8 +106,8 @@ struct rqelement {
};
/*
- * A group of requests built to satisfy a certain
- * component of a user request.
+ * A group of requests built to satisfy an I/O
+ * transfer on a single plex.
*/
struct rqgroup {
struct rqgroup *next; /* pointer to next group */
@@ -154,17 +152,18 @@ struct sdbuf {
};
/*
- * Values returned by rqe and friends.
- * Be careful with these: they are in order of increasing
- * seriousness. Some routines check for > REQUEST_RECOVERED
- * to indicate a completely failed request.
+ * Values returned by rqe and friends. Be careful
+ * with these: they are in order of increasing
+ * seriousness. Some routines check for
+ * > REQUEST_RECOVERED to indicate a failed request. XXX
*/
enum requeststatus {
REQUEST_OK, /* request built OK */
REQUEST_RECOVERED, /* request OK, but involves RAID5 recovery */
- REQUEST_EOF, /* request failed: outside plex */
- REQUEST_DOWN, /* request failed: subdisk down */
- REQUEST_ENOMEM /* ran out of memory */
+ REQUEST_DEGRADED, /* parts of request failed */
+ REQUEST_EOF, /* parts of request failed: outside plex */
+ REQUEST_DOWN, /* all of request failed: subdisk(s) down */
+ REQUEST_ENOMEM /* all of request failed: ran out of memory */
};
#ifdef VINUMDEBUG
@@ -188,6 +187,8 @@ struct rqinfo {
enum rqinfo_type type; /* kind of event */
struct timeval timestamp; /* time it happened */
struct buf *bp; /* point to user buffer */
+ int devmajor; /* major and minor device info */
+ int devminor;
union {
struct buf b; /* yup, the *whole* buffer header */
struct rqelement rqe; /* and the whole rqe */
OpenPOWER on IntegriCloud