Merge a bunch of changes to TCP compressed TIME_WAIT state handling
that was done by myself and ru@ in HEAD:
o Remove a code from in in_pcblookup_local() that can lead to
million times looping in this function.
o Rewrite the storage of tcptw entries to simple TAILQ. The
more complex double LIST is not needed anymore since T/TCP
is removed.
o Add possibility to change net.inet.tcp.maxtcptw via sysctl
and load time tunable. Do not modify maxtcptw if it was set
explicitly, if maxsockets is modified.
o Add sysctl that allows to suppress creating time wait states
for sockets, where both endpoints are local.
MFC: Sync the nve(4) driver with HEAD including updating the binary
library to the 1.0-0310 23-Nov-2005 version and adding device IDs for
the nForce 430 chipset.
Requested by: Jared Ring <jring at kingsley dOt vic DOT edu DoT au>
Approved by: re (kensmith)
MFC of fix for PR 98858
Properly cast the values of valsize (the size of the value passed in)
in setsockopt so that they can be compared correctly against negative
values. Passing in a negative value had a rather negative effect
on our socket code, making it impossible to open new sockets.
PR: 98858
Submitted by: James.Juran@baesystems.com
Approved by: re
Implement 'camcontrol reportluns'. This allows users to send the SCSI
REPORT LUNS command to a device.
camcontrol.[c8]: Implement reportluns. This tries to print the LUNs
out in a reasonable format. Only the periph
addressing method has been tested, since very little
hardware that I know of supports the other methods.
scsi_all.[ch]: Revamp the report luns CDB structure and helper
functions. This constitutes a little bit of an API
change, but since the old CDB length was 10 bytes,
and the REPORT LUNS CDB length is actually 12 bytes,
it's clear that no one was using this API in the
first place.
Remove call to fdfree() for the AIO daemons to prevent kernel panics
with linprocfs. This call is not needed since file descriptor sharing
was removed in v1.125.
- Make the PROBE_KEYBOARD compile-time option of pxeboot(8) better
resemble the -P option in boot2, i.e., if keyboard isn't present
then boot with both RB_SERIAL and RB_MULTIPLE set.
- Document BOOT_PXELDR_ALWAYS_SERIAL and BOOT_PXELDR_PROBE_KEYBOARD
options of pxeboot(8).
Fix problems with destroy and forcible destroy functionality:
- hold/release device in start/done routines, this will probably slow
down things a bit, but previous code was racy;
- only release device if g_gate_destroy() failed - if it succeeded device
is dead and there is nothing to release;
- various other changes which makes forcible destruction reliable.
Add a new kernel environment variable "boot.netif.mtu" which is used to
set the MTU prior to mounting root via NFS. This is required if the
server supports a higher than default MTU because the client will not
see the responses otherwise.
MFC rev. 1.140
Properly lock ifmedia callbacks. This should prevent concurrent access to PHY.
Following issues should be resolved:
- random watchdog timeouts (caused by concurrent phy access)
- some link state issues
- non working TX if media type was set explicitly
MFC: Backport ktrace enhancements to make ktrace mostly synchronous again
and use per-process queue's for async requests. This makes ktrace more
reliable and also fixes a potential deadlock in cv_wait/msleep.
Hook audit into the OpenSSH build, this results in audit records being
submitted for successful/failed logins, as well as having OpenSSH set
the audit context for a user when they login.
MFC: Fix for a bug that causes the computation of "len" in tcp_output() to
get messed up, resulting in an inconsistency between the TCP state
and so_snd.
MFC: Fixes an edge case bug in timewait handling where ticks rolling over causing
the timewait expiry to be exactly 0 corrupts the timewait queues (and that entry).
MFC performance improvements when skipping entry bodies.
In particular, this speeds up listing contents or extracting
single files from uncompressed archives read from slow, seekable
media (e.g., slow disk drives).
Thanks to: Benjamin Lutz for doing the heavy lifting,
critical bugfix from Chris Spiegel
Axe Giant from vn_fullpath(9). The vnode -> pathname lookup should be
filesystem agnostic. We are not touching any file system specific functions
in this code path. Since we have a cache lock, there is really no need to
keep Giant around here.
This eliminates Giant acquisitions for any syscall which is auditing pathnames.
marius [Mon, 4 Sep 2006 18:28:32 +0000 (18:28 +0000)]
MFC: 1.33
Do as the USII CPU manual suggests and leave interrupts enabled
for a bit before retrying to resend an IPI in order to avoid
deadlocks if the other CPU is also trying to send one.
MFC: v1.98
spell unlock correctly, this is relatively minor as it's rare someone would
provide a lock method, and want the default unlock, but it is a bug...
- Allow to use fast_ipsec(4) on debug.mpsafenet=0 and INVARIANTS-enabled
systems. Without the change it will panic on assertions.
- Update the code after opencrypto changes.
While checking for update of snapshot file in the ffs_copyonwrite,
first filter out metadata update. Otherwise, devfs vnode could be
erronously interpreted as ufs one, causing further check of i_flags
to use random memory.
PR: kern/100365
Debugged and fix described by: tegge
Approved by: pjd (mentor)
Don't expect that 'device random' will compile in those files into the
kernel for us. If random is compiled as kernel module, geom_bde.ko cannot
be loaded.
- Don't use f-word in comments. We are gentlemans.
Pointed out by: Maciej Sobczak
- Commit the results of the typo hunt by Darren Pilgrim.
This change affects documentation and comments only,
no real code involved.
PR: misc/101245
Submitted by: Darren Pilgrim <darren pilgrim bitfreak org>
Tested by: md5(1)
Commit to HEAD by: yar
- Not only a request from us can be passed to g_{mirror,raid3}_worker()
function, but also a request to us, in which case checking bio_cflags
is wrong, because the class above us is controling it, not we.
- Use suser_cred(9) instead of directly checking cr_uid.
- Change the order of conditions to first verify that we actually need
to check for privileges and then eventually check them.
- Use suser_cred(9) instead of directly checking cr_uid.
- Change the order of conditions to first verify that we actually need
to check for privileges and then eventually check them.
Add a bandaid to avoid a deadlock in a situation, when we are trying to suspend
a file system, but need to obtain a vnode. We may not be able to do it, because
all vnodes could be already in use and other processes cannot release them,
because they are waiting in "suspfs" state.
In such situation, we allow to allocate a vnode anyway.
This is a temporary fix - there is no backpressure to free vnodes allocated in
those circumstances.
- Use SLIST_FOREACH_SAFE() macro, because knote_drop() can free an element
which can be then used to find next element in the list.
- Remove confusing done_noglobal label. The KQ_GLOBAL_UNLOCK() macro know
how to handle both situations - when kq_global lock is and is not held.
- Don't forget to unlock kq lock in low memory situations.
marius [Sun, 3 Sep 2006 18:16:45 +0000 (18:16 +0000)]
Restore the expected and documented pre rev. 1.36 behavior of
giving preference to pcn(4). Take precedence over le(4) though,
as le(4) isn't meant to supersede lnc(4) in this branch (yet).
/etc/crontab is similar enough to parse as correct if you run
"crontab /etc/crontab", but not the same format due to the who field.
Add some limited anti-foot-shooting support and refuse to load
/etc/crontab as someone's crontab. Users wishing shoot their foot in
this manner may copy /etc/crontab elsewhere. :)
marius [Sun, 3 Sep 2006 17:11:27 +0000 (17:11 +0000)]
- Add a deprecation note since this driver was replaced by le(4)
in HEAD. [1]
- Remove Digital DEPCA from the list of supported hardware; DEPCA
cards use shared memory for the buffers and descriptors but the
current ISA front-end of lnc(4) only knows about adapters that
use DMA instead (lnc(4) did support DEPCA in the past though).
In rev. 1.2 we have introduced a fallback handler for files with unknown
extensions. This seems to be unnecessary and prevents less(1) from being
able to detect file changes, so remove the part.
Submitted by: Eric Huss <e-huss netmeridian com>
PR: bin/102624
Discussed with: des