Commit Graph

14 Commits

Author SHA1 Message Date
Greg Lehey
44043daefc Print a warning if we removed a junked drive
Take a drive down if it's not open
1998-11-03 06:38:26 +00:00
Greg Lehey
8ef3d686c9 Take drive down if the disk driver tells us it's not there 1998-11-03 06:37:57 +00:00
Greg Lehey
62ae0ffa95 Check for duplicate subdisk names 1998-11-03 06:37:14 +00:00
Greg Lehey
c51cd25e95 Change some numeric #defines to enums 1998-11-02 04:11:16 +00:00
Greg Lehey
8b71433847 Don't close drives when called from interrupt context, set a flag for
the top half to do it.

Put in a dubious check for subdisk integrity when trying to bring
up a plex where others are already up.  This particular kludge is
crying out for a rewrite of the whole state code.

Add code to set_plex_state and set_volume_state to defer updates when
called from an interrupt context.  This doesn't happen yet, but it
could do.
1998-11-02 04:10:45 +00:00
Greg Lehey
d45fbfc7a1 Get the default revive blocksize right for striped and RAID-5 plexes 1998-11-02 04:10:19 +00:00
Greg Lehey
47ffaa06f1 Close any drives downed in an interrupt context.
Ensure correct order of requests.
Call launch_requests at splhigh to see if this stops the mysterious
SMP panics
1998-11-02 04:09:34 +00:00
Greg Lehey
f9fd1687b6 Accept incorrect device open counts, but print a warning
Don't save invalid drive config information, remove the drive
1998-11-02 04:09:09 +00:00
Greg Lehey
6e1f0e2f5e Check for maximum number of subdisks in a plex
Get object counts right when removing
1998-11-02 04:08:30 +00:00
Peter Wemm
a4bc95cff9 Move the kld stuff to here. 1998-10-23 11:49:47 +00:00
Greg Lehey
721fbc5ae0 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.
1998-10-21 08:32:32 +00:00
Greg Lehey
759ae89394 Correct calculation of revive blocksize
Submitted by: Chris Csanady
1998-09-28 04:24:10 +00:00
Greg Lehey
02d719b0f5 Get include paths right 1998-09-28 04:21:20 +00:00
Greg Lehey
e4381fa521 Import base vinum lkm sources 1998-09-16 05:56:21 +00:00