Commit Graph

55680 Commits

Author SHA1 Message Date
grog
59b7117aff Remove obsolete functions [un]lockplex and [un]lockvol.
Rewrite lockrange and unlockrange.  The lock table is now a fixed
size, so there is no possibility for race conditions when expanding.
The current size (256 locked ranges) should be large enough that it
makes no sense to expand it.  To do expansion right would require
quiescing the plex (requiring at least 256 I/O completions), and the
performance implications are horrendous.

Add a mutex per plex for accessing the lock table.

Based on analysis by:	tegge
2001-01-10 05:06:37 +00:00
grog
67641fa38c Get definition of Malloc right when not using VINUMDEBUG
Pointed out by:	tegge
2001-01-10 05:05:46 +00:00
grog
4bd6619275 open_drive: Refuse to open partition c of a disk device.
This should eliminate one case of foot shooting .

vinum_scandisk: If a drive in the partition table is downed, free it.
This duplicates code for the compatibility partition, which for some
reason was omitted here.
2001-01-10 05:02:44 +00:00
grog
16c617b818 config_plex: Initialize mutex for parity plexes.
remove_plex_entry: Destroy mutex for parity plexes.

Part of rewrite of RAID-[45] locking code.
2001-01-10 05:01:12 +00:00
jake
4f5d8ed825 Use PCPU_GET, PCPU_PTR and PCPU_SET to access all per-cpu variables
other then curproc.
2001-01-10 04:43:51 +00:00
archie
776ef1f430 Add these key bindings for tcsh users in interactive mode:
bindkey "^W" backward-delete-word
    bindkey -k up history-search-backward
    bindkey -k down history-search-forward

Reviewed by:	-current
2001-01-10 02:37:16 +00:00
bmilekic
3726db774d In m_mballoc_wait(), drop the mmbfree mutex lock prior to calling
m_reclaim() and re-acquire it when m_reclaim() returns. This means that
we now call the drain routines without holding the mutex lock and
recursing into it. This was done for mainly two reasons:

(i) Avoid the long recursion; long recursions are typically bad and this
    is the case here because we block all other code from freeing mbufs
    if they need to. Doing that is kind of counter-productive, since we're
    really hoping that someone will free.

(ii) More importantly, avoid a potential lock order reversal. Right now,
     not all the locks have been added to our networking code; but
     without this change, we're introducing the possibility for deadlock.
     Consider for example ip_drain(). We will likely eventually introduce
     a lock for ipq there, and so ip_freef() will be called with ipq lock
     held. But, ip_freef() calls m_freem() which in turn acquires the
     mmbfree lock. Since we were previously calling ip_drain() with mmbfree
     held, our lock order would be: mmbfree->ipq->mmbfree. Some other code
     may very well lock ipq first and then call ip_freef(). This would
     result in the regular lock order, ipq->mmbfree. Clearly, we have
     deadlock if one thread acquires the ipq lock and sits waiting for
     mmbfree while another thread calling m_reclaim() acquires mmbfree
     and sits waiting for the ipq lock.

Also, make sure to add a comment above m_reclaim()'s definition briefly
explaining this. Also document this above the call to m_reclaim() in
m_mballoc_wait().

Suggested and reviewed by: alfred
2001-01-09 23:58:56 +00:00
dmlb
f2dd7e71f7 Fix a minor bug that prevents NEWBUS users from setting more than
one memory map. The memory window for the PCIC is identifed by the resource id
for NEWSBUS drivers. pccardd always uses window 0 and rid 0 when setting maps
up. This fix does not affect pccardd's handling of common memory for ed cards.

Reviewed by:	imp
2001-01-09 23:39:32 +00:00
jhb
1bb19011b4 Move the syscons configuration to a machine independent rc.syscons. The
syscons sh code was identical on both platforms except for whitespace
differences.
2001-01-09 22:28:17 +00:00
mjacob
3e81a98da0 moved isp_pci.c from pci to dev/isp 2001-01-09 19:15:12 +00:00
rwatson
0080a88967 o Minor style(9)ism to make consistent with -STABLE 2001-01-09 18:26:17 +00:00
mjacob
03aad0d868 The alpha architecture is 64 bits, so bus_addr_t && bus_size_t should really
be 64 bits wide. The largest known current actual physical implementation
is 40 bits, so BUS_SPACE_MAXADDR should reflect this. It also seems to
me that BUS_SPACE_UNRESTRICTED should b ~0UL, not ~0.
2001-01-09 18:17:48 +00:00
obrien
9c092958f9 Use /usr/bin/cpp as on NetBSD, not /usr/libexec/cpp. 2001-01-09 17:14:04 +00:00
ru
0ae3d329ee Fixed mdoc(7)NG warnings introduced in the previous revision. 2001-01-09 15:20:58 +00:00
jlemon
f18f07f6e8 Move the mutex initialization from avma1pp_bchannel_setup into
avma1pp_attach_avma1pp, since the former may be called multiple
times and we only want to initialize the mutex once.

Submitted by: Thomas Moestl <tmoestl@gmx.net>
2001-01-09 15:01:42 +00:00
jlemon
b14251832e When queueing a packet, call the output start routine. I botched this
during the initial ifqueue conversion.

Submitted by: Thomas Moestl <tmoestl@gmx.net>
2001-01-09 14:59:43 +00:00
jlemon
6419a6b9a1 Add a flag value to the board identifiers, and use this to enable the
firmware for selected revisions of the controller.

Spotted by:  Alexander Hausner <alex@hugo.bmg.gv.at>
2001-01-09 14:49:41 +00:00
rwatson
0a3118c247 o acl_from_text.c:
- errno is already set to ENOMEM (as appropriate) when asprintf(),
    strdup(), or acl_init() fails
o acl_to_text.c:
  - the return value of the initial strdup() is not checked
  - errno is already set to ENOMEM (as appropriate) when asprintf
    and acl_init() fails
  - let the the default: case use 'goto error_label' for consistency

Submitted by:	jedgar
2001-01-09 05:45:03 +00:00
rwatson
a80aac3d99 o bzero() the ACL structure only if malloc() returns non-NULL.
Submitted by:	jedgar
2001-01-09 05:42:31 +00:00
rwatson
77af9a1a64 o Correct spelling error from patch in previous commit. 2001-01-09 05:40:54 +00:00
rwatson
8b948144e8 o Add missing initialization of errno from error returns of
cap_get_fd(), cap_get_file() and cap_get_proc().

Submitted by:	jedgar
2001-01-09 05:40:10 +00:00
green
8beebd80cc Add a large _warning_ about using COMPAT_SVR4. 2001-01-09 05:03:08 +00:00
green
9eed629072 Evidently, svr4 is broken at the moment. Disconnect the build to prevent
Bad Things from unsuspecting module loaders.
2001-01-09 04:56:53 +00:00
green
1997349f06 Take 10 seconds to actually fix the chgproccnt rather than just make it
explicitly error.  If the module is horribly broken, it should be
temporarily removed from src/sys/modules.
2001-01-09 04:55:37 +00:00
wollman
70c88bb8da select() DKI is now in <sys/selinfo.h>. 2001-01-09 04:33:49 +00:00
wollman
73868ac960 Delete unused #include <sys/select.h>. 2001-01-09 04:32:24 +00:00
wollman
1558aceec7 select() DKI is defined in <sys/selinfo.h> now. 2001-01-09 04:31:48 +00:00
wollman
00b9fd3d5d Note new location of wi driver source code. 2001-01-09 04:29:29 +00:00
wollman
04fe984ab7 With some trepidation, add a `#error' directive to this module. It was
broken and not fixed by whoever changed the interface of chgproccnt();
in the state it is in it could not possibly work (dereferencing an integer).
2001-01-09 04:27:09 +00:00
wollman
8a0e4fd3b6 Don't compile a dead variable declaration. 2001-01-09 04:24:43 +00:00
wollman
84da8d820c Make it clear that the macro `inb' is being overridden. 2001-01-09 04:23:56 +00:00
wollman
cab9efa1c5 Note new location of if_wavelan_ieee.h. 2001-01-09 04:23:05 +00:00
rwatson
c4fb1f7419 o IPFW incorrectly handled filtering in the presence of previously
reserved and now allocated TCP flags in incoming packets.  This patch
  stops overloading those bits in the IP firewall rules, and moves
  colliding flags to a seperate field, ipflg.  The IPFW userland
  management tool, ipfw(8), is updated to reflect this change.  New TCP
  flags related to ECN are now included in tcp.h for reference, although
  we don't currently implement TCP+ECN.

o To use this fix without completely rebuilding, it is sufficient to copy
  ip_fw.h and tcp.h into your appropriate include directory, then rebuild
  the ipfw kernel module, and ipfw tool, and install both.  Note that a
  mismatch between module and userland tool will result in incorrect
  installation of firewall rules that may have unexpected effects.  This
  is an MFC candidate, following shakedown.  This bug does not appear
  to affect ipfilter.

Reviewed by:	security-officer, billf
Reported by:	Aragon Gouveia <aragon@phat.za.net>
2001-01-09 03:10:30 +00:00
mjacob
7825fe8202 ISPASYNC_PDB_CHANGED -> ISPASYNC_LOGGED_INOUT. 2001-01-09 02:49:02 +00:00
mjacob
0bc474bf0f Add some SNS "Register FC4 type" subcommand defines. Add some defines
that are pertinetnt for state flags on Qlogic 2X00 status completion
entries.
2001-01-09 02:48:44 +00:00
mjacob
74a8920f60 Up tsleep && poll time for mailbox commands from 2 to 10 seconds. Print
out the mailbox command opcode if the command times out.
2001-01-09 02:47:56 +00:00
mjacob
cea7b96f92 Follow the ISPASYNC_PDB_CHANGED -> ISPASYNC_LOGGED_INOUT change. Also,
ISPASYNC_NOTIFY_CHANGE now is for both local loop && fabric changes.
2001-01-09 02:47:15 +00:00
mjacob
7738a3b15c Add a isp_register_fc4_type function so that we work with McData switches
that require us to register our FC4 types of interest. Allow ourselves, in
F-port topologies, to start logging in fabric devices in the target 0..125
range. Change ISPASYNC_PDB_CHANGED (misnamed) to ISPASYNC_LOGGED_INOUT.
Fix (*SMACK*) again some default WWN stuff. This is *really* hard to get
right across all the range of platforms.
2001-01-09 02:46:23 +00:00
mjacob
8ca418447a add missing length argument 2001-01-09 02:12:42 +00:00
peter
bd0d2d531f Send the old if_wl in the old location to the Attic after a repo copy to
sys/dev/wi/*
2001-01-09 00:53:06 +00:00
ben
d32b1e5a67 Remove empty directories.
PR:		23769, 23772, 23868
Submitted by:	Rich Morin <rdm@cfcl.com>
2001-01-09 00:52:31 +00:00
peter
f7920f6761 Move MD <machine/if_wavelan_ieee.h> to MI <dev/wi/if_wavelan_ieee.h> 2001-01-09 00:50:45 +00:00
julian
eea659140e Missing FREE(). 2001-01-09 00:49:31 +00:00
peter
b798afbdf8 Move if_wl.c from sys/i386/isa to dev/wi - it is not i386 (or even isa)
specific.
2001-01-09 00:44:33 +00:00
gibbs
1bfd06c629 Index our "DMA safe" sense buffers by SCB rather than hscb.
hscbs may be traded during error recovery due to the way
we manage the qinfifo.  This has the effect of changing the
index to the sense buffer even though the request sense command
references the original buffer.  SCBs don't play this swapping
game and so serve as a more consistent reference.
2001-01-09 00:40:38 +00:00
wilko
7908ad0b66 Small note on FDDI support using DEC DEFPA 2001-01-08 22:38:11 +00:00
wilko
2b558aae98 Document support for FDDI using DEC DEFPA adapters.
Thanks to: Andrew Gallatin for the actual patch that makes DEFPA work
2001-01-08 22:36:21 +00:00
n_hibma
cfd616810d Unset the devclass if the attach fails and the devclass was not set to
begin with.

Reviewed by:	dfr
2001-01-08 22:16:26 +00:00
dwmalone
e42ccf8d79 If we failed to allocate the file discriptor for the write end of
the pipe, then we were corrupting the pipe_zone free list by calling
pipeclose on rpipe twice. NULL out rpipe to avoid this.

Reviewed by:	dillon
Reviewed by:	iedowse
2001-01-08 22:14:48 +00:00
sos
74fb2ac9f3 Back out the "close tray on open" feature, its not clear what
color it should have...
2001-01-08 21:34:25 +00:00