diff options
author | grog <grog@FreeBSD.org> | 1999-08-07 08:05:19 +0000 |
---|---|---|
committer | grog <grog@FreeBSD.org> | 1999-08-07 08:05:19 +0000 |
commit | 34ea895440f9e3c37cec9b51e0a48eebb0c6ffb6 (patch) | |
tree | cf81636ca61cdd7cf9d26d53bdcd90f772b1abdb | |
parent | d0cd16077589e3d718b061c8ef94b00f7288123b (diff) | |
download | FreeBSD-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.h | 39 |
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 */ |