diff options
author | grog <grog@FreeBSD.org> | 1998-10-21 08:32:32 +0000 |
---|---|---|
committer | grog <grog@FreeBSD.org> | 1998-10-21 08:32:32 +0000 |
commit | c4f583ab45280938d0a6fb05b51d4ecadfc1f413 (patch) | |
tree | dae6747deab534df8daae0214b7739eb96b1f003 /sys/dev/vinum/vinumvar.h | |
parent | f8807b8fc154475494280090923ce6f4d311d64e (diff) | |
download | FreeBSD-src-c4f583ab45280938d0a6fb05b51d4ecadfc1f413.zip FreeBSD-src-c4f583ab45280938d0a6fb05b51d4ecadfc1f413.tar.gz |
config.c:
config_drive:
Catch an instance of anonymous drives. Doubtless many remain.
interrupt.c:
complete_rqe:
Call logrq to log iodone events if DEBUG_LASTREQS is set.
Call set_sd_state with setstate_noupdate to avoid buffered I/O out
of interrupt context.
Use define DEBUG_RESID instead of constant.
memory.c:
Remove dead expandrq() function
Malloc:
Remove directory component of file names in malloc table.
Add function vinum_rqinfo (part of the request tracing stuff).
request.c:
Add function logrq (part of the request tracing stuff).
vinumstrategy:
Check whether config needs to be written to disk, do it if so.
This is a stopgap until the Vinum daemon (bacchusd? oenologistd?)
is written.
If DEBUG_LASTREQS is set, call logrq to log user buffer headers.
launch_requests:
Correct format of debug output to console.
If DEBUG_LASTREQS is set, call logrq to log request elements.
request.h:
Add definitions for request trace.
state.c:
set_sd_state:
Check flags for setstate_noupdate. If set, don't write the config
to disk, just set global VF_DIRTYCONFIG flag. This is part of the
kludge to avoid writing config from an interrupt context.
vinumext.h:
Add declaration for vinum_rqinfo, put inside #ifdef DEBUG
Remove dead macro expandrq
vinumio.h:
Increase maximum ioctl reply length to 4 kB if DEBUG is set.
Define VINUM_RQINFO ioctl if DEBUG is set.
vinumioctl.c:
vinumioctl:
Change implementation of VINUM_DEBUG ioctl: use a debug flag
(DEBUG_REMOTEGDB) to decide whether to go into remote debugging or
not.
Implement VINUM_RQINFO.
vinumkw.h:
Define kw_info even when not debugging.
vinumvar.h:
Define VF_DIRTYCONFIG
Add pointers to request info to vinum_info if DEBUG is set.
Define setstate_noupdate
Define additional debug bits DEBUG_RESID, DEBUG_LASTREQS and
DEBUG_REMOTEGDB.
Diffstat (limited to 'sys/dev/vinum/vinumvar.h')
-rw-r--r-- | sys/dev/vinum/vinumvar.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/dev/vinum/vinumvar.h b/sys/dev/vinum/vinumvar.h index ca54f76..ee347fc 100644 --- a/sys/dev/vinum/vinumvar.h +++ b/sys/dev/vinum/vinumvar.h @@ -185,6 +185,7 @@ enum objflags { VF_CONFIG_SETUPSTATE = 0x2000, /* set a volume up if all plexes are empty */ VF_READING_CONFIG = 0x4000, /* we're reading config database from disk */ VF_KERNELOP = 0x8000, /* we're performing ops from kernel space */ + VF_DIRTYCONFIG = 0x10000, /* config needs updating */ }; /* Global configuration information for the vinum subsystem */ @@ -212,6 +213,8 @@ struct _vinum_conf { #if DEBUG int lastrq; struct buf *lastbuf; + struct rqinfo **rqipp; + struct rqinfo *rqinfop; #endif }; @@ -226,7 +229,7 @@ struct _vinum_conf { * Vinum drives start with this structure: * - * Sector + *\ Sector * |--------------------------------------| * | PDP-11 memorial boot block | 0 * |--------------------------------------| @@ -500,11 +503,15 @@ enum setstateflags { setstate_force = 1, /* force the state change */ setstate_configuring = 2, /* we're currently configuring, don't save */ setstate_recursing = 4, /* we're called from another setstate function */ - setstate_norecurse = 8 /* don't call other setstate functions */ + setstate_norecurse = 8, /* don't call other setstate functions */ + setstate_noupdate = 16 /* don't update config */ }; #ifdef DEBUG /* Debugging stuff */ #define DEBUG_ADDRESSES 1 #define DEBUG_NUMOUTPUT 2 +#define DEBUG_RESID 4 /* go into debugger in complete_rqe */ +#define DEBUG_LASTREQS 8 /* keep a circular buffer of last requests */ +#define DEBUG_REMOTEGDB 256 /* go into remote gdb */ #endif |