Matthew Dillon [Fri, 13 Apr 2012 02:41:14 +0000 (19:41 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Sascha Wildner [Thu, 12 Apr 2012 21:04:33 +0000 (23:04 +0200)]
kernel/tmpfs: Make compiling tmpfs into the kernel optional.
If the user wants to build a kernel without tmpfs built in,
allow it to him.
Our GENERIC configs have 'options TMPFS', but even if it
isn't loaded or built into the kernel, it will be kldloaded
upon mount_tmpfs(8) via vfsload(3).
This behavior is the same with our other file systems: the
module will be autoloaded at the first mount -t <type> if
it isn't either in-kernel or already loaded.
Matthew Dillon [Thu, 12 Apr 2012 18:56:52 +0000 (11:56 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Sepherosa Ziehau [Thu, 12 Apr 2012 09:17:11 +0000 (17:17 +0800)]
tcp: Prefer IW parameters in routing entries
Sepherosa Ziehau [Thu, 12 Apr 2012 08:55:25 +0000 (16:55 +0800)]
rt_metrics: Add rmx_iw* to record user-set IW parameters
Sepherosa Ziehau [Thu, 12 Apr 2012 07:25:31 +0000 (15:25 +0800)]
tcp: Support settable IW parameters
As suggested in:
http://tools.ietf.org/html/draft-ietf-tcpm-initcwnd-03
To be RFC3390 conforming, these parameters should be left as the default:
net.inet.tcp.iwcapsegs -> 3
net.inet.tcp.iwmaxsegs -> 4
Sepherosa Ziehau [Thu, 12 Apr 2012 07:04:52 +0000 (15:04 +0800)]
tcp: Staticize tcp_do_rfc3390
Sepherosa Ziehau [Thu, 12 Apr 2012 06:48:56 +0000 (14:48 +0800)]
tcp: "Reasonably" reduce IW after SYN retransmition timeout
Matthew Dillon [Wed, 11 Apr 2012 18:30:08 +0000 (11:30 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Sascha Wildner [Wed, 11 Apr 2012 18:06:52 +0000 (20:06 +0200)]
kernel/nwfs: The NCP check only applies if it is not the module build.
Add some dependency stuff that will cause nwfs to load ncp if it is
not loaded or in the kernel.
However ncp ultimately depends on IPX which is not available as a
module, so that's the minimum that needs compiling into the kernel
in order to use nwfs.
This should really fix the kernel build.
Sascha Wildner [Wed, 11 Apr 2012 17:38:12 +0000 (19:38 +0200)]
kernel/smbfs: The netsmb check only applies if it is not the module build.
The necessary files from netsmb are built into the module. In the kernel
it is two separate options.
This fixes buildkernel.
Reported-by: Francois Tigeot <ftigeot@wolfpond.org>
Samuel J. Greear [Wed, 11 Apr 2012 16:26:02 +0000 (10:26 -0600)]
dntpd - Update pool servers to be of the newly-created dragonfly ntp.org zone
Sepherosa Ziehau [Wed, 11 Apr 2012 14:15:08 +0000 (22:15 +0800)]
tcp/syncache: Use the calculated RTO instead of calculate again
The recalculation actually uses wrong backoff, grrr
Sepherosa Ziehau [Wed, 11 Apr 2012 14:07:24 +0000 (22:07 +0800)]
tcp/syncache: Increase SYN|ACK max retransmit attempts from 3 to 4
- It matches what the comment says: 15 seconds timeout, if RFC6298 is
not enabled.
- Add comment about the timeout if RFC6298 is enabled.
Sepherosa Ziehau [Wed, 11 Apr 2012 13:54:52 +0000 (21:54 +0800)]
carp: Get rid of the null serializer function stubs
They are used in the early carp development stage; no longer useful now
Sepherosa Ziehau [Wed, 11 Apr 2012 10:24:53 +0000 (18:24 +0800)]
tcp/syncache: Use tcp_syn_backoff|low RTO multipler
Sepherosa Ziehau [Wed, 11 Apr 2012 10:09:43 +0000 (18:09 +0800)]
tcp: Adjust SYN retransmit backoff a little bit.
This pattern is proposed by:
Chu, J., "Tuning TCP Parameters for the 21st Century",
http://www.ietf.org/proceedings/75/slides/tcpm-1.pdf
Sepherosa Ziehau [Wed, 11 Apr 2012 10:05:04 +0000 (18:05 +0800)]
tcp: RW=min(IW,cwnd) is standardized in RFC5681
Sepherosa Ziehau [Wed, 11 Apr 2012 09:57:43 +0000 (17:57 +0800)]
tcp: Increase IW to 2 segments, if RFC3390 is not enabled.
First of all, RFC2581 allows this. Additionally, it is intended to
fix sender and receiver deadlock before delayed ACK timer expires.
Add comment about these.
Sepherosa Ziehau [Wed, 11 Apr 2012 09:51:04 +0000 (17:51 +0800)]
tcp: Factor out tcp_initial_window; ease further IW adjustment
Sascha Wildner [Wed, 11 Apr 2012 09:37:30 +0000 (11:37 +0200)]
sys/conf/options: Clean up and sort the file system related options.
Sascha Wildner [Wed, 11 Apr 2012 09:36:43 +0000 (11:36 +0200)]
nwfs/smbfs: Fix and cleanup the Makefiles a bit.
Sepherosa Ziehau [Wed, 11 Apr 2012 08:45:12 +0000 (16:45 +0800)]
carp: Add comment about how lockless MPSAFE is done
Sepherosa Ziehau [Wed, 11 Apr 2012 07:54:39 +0000 (15:54 +0800)]
vlan: Wording in comment
Sepherosa Ziehau [Wed, 11 Apr 2012 07:44:11 +0000 (15:44 +0800)]
carp: Change 1/0 usage of int into boolean_t, which is more expressive
Sascha Wildner [Wed, 11 Apr 2012 08:41:36 +0000 (10:41 +0200)]
Remove one more old OpenSSL file via 'make upgrade'.
Sepherosa Ziehau [Wed, 11 Apr 2012 03:23:39 +0000 (11:23 +0800)]
tcp_input: Partly revert
98cb2337e1000153d84b64a5e9aabbecda8e8dbf
Since all TCP operations are carried in its own netisr thread, the
workaround/comment is no longer needed/applied; change it into
assertion instead.
The "snd_nxt < snd_una" should (hopefully) have been fixed by:
1ff9b7d322dc5a26f7173aa8c38ecb79da80e419
Sepherosa Ziehau [Wed, 11 Apr 2012 03:09:33 +0000 (11:09 +0800)]
tcp_input: Use acceptable_window_update when applicable
While I'm here, adjust comment (ACK is always on when we reach that code)
Sepherosa Ziehau [Fri, 6 Apr 2012 01:47:36 +0000 (09:47 +0800)]
tcp/sack: Cleanup the SACK related bits when return from tcp_input slow path
When the code path that could generate the invalid SACK block on out-of-order
FIN segment was walked through, it turned out that some SACK related bits
could be leftover from the previous input segment, e.g. SACKLEFT.
Since the observed invalid SACK option contains only one SACK block and the
block's right edge is same as its left edge, the code which can generate that
SACK block could be run only if SACKLEFT is turned on and reportblk's start
and end are same.
- If SACKLEFT is on then reportblk's start and end must not be same, so the
SACKLEFT is leftover from the previous input segment.
- If KASSERTs about the clearance of the SACK bits are added immediately
before returning from the tcp_input slow path, the KASSERTs could fail due
to SACKLEFT are still on.
Obviously the SACK related bits are never intended to be inheritted from one
input segment to another input segment, so we just clear them before returning
from the tcp_input slow path.
Sepherosa Ziehau [Wed, 28 Mar 2012 08:17:32 +0000 (16:17 +0800)]
tcp/sack: Take FIN bit into consideration when setup report SACK block end
The invalid SACK option observed on the heavily segment reordering network
path (50% segments out of order) contains only one SACK block which tries
to cover the FIN segment but sets the right edge incorrectly, i.e. the right
edge is same as the left edge; mainly because the FIN bit is not counted.
Sascha Wildner [Tue, 10 Apr 2012 19:46:27 +0000 (21:46 +0200)]
acpi_hp.4: List the HP Compaq nc6320 as tested with the acpi_hp(4) driver.
The reported values looked sane.
Tested-by: Andrea Magliano <masterblaster@tiscali.it>
Peter Avalos [Tue, 10 Apr 2012 17:28:26 +0000 (10:28 -0700)]
Merge branch 'vendor/OPENSSL'
Peter Avalos [Tue, 10 Apr 2012 16:57:21 +0000 (09:57 -0700)]
Bring in the krb5 module in OpenSSL.
Even though we don't have Kerberos5 in base, we should still be
installing the krb5_asn.h header.
Peter Avalos [Tue, 10 Apr 2012 16:51:20 +0000 (09:51 -0700)]
Merge remote-tracking branch 'origin/master'
Sepherosa Ziehau [Tue, 10 Apr 2012 13:26:53 +0000 (21:26 +0800)]
carp: Lockless MPSAFE, step 11 of 11
Remove big giant carp token.
Sepherosa Ziehau [Mon, 9 Apr 2012 13:06:57 +0000 (21:06 +0800)]
carp: Lock MPSAFE, step 10 of 11
Make carp_softc.sc_carpdev and ifnet.if_carp accessing and updating
lockless MPSAFE.
carp_softc.sc_carpdev:
- Reader of the sc_carpdev will cache the value in temporary variable
and use the cached value instead of always accessing sc_carpdev,
which may be inconsistent due to change of sc_carpdev.
ifnet.if_carp
- if_carp is a pointer to the carp_softc container list, while the list
only contains pointer to carp_softc
- Reader of if_carp will cache the value in temporary variable and use
the cached value instead of always accessing if_carp, which may be
inconsistent due to if_carp updating.
- Updating of the if_carp is done in the following way:
ocif = ifp->if_carp;
ncif = cif_copy(ocif);
cif_modify(ncif);
ifp->if_carp = ncif;
netmsg_service_sync();
/* when we reach here all users of old if_carp (ocif) are done */
cif_free(ocif)
Sascha Wildner [Mon, 9 Apr 2012 02:37:14 +0000 (04:37 +0200)]
pst(4): Add a missing contigfree().
Sascha Wildner [Mon, 9 Apr 2012 01:31:45 +0000 (03:31 +0200)]
mps(4): Add a missing kfree().
Sascha Wildner [Sun, 8 Apr 2012 23:28:51 +0000 (01:28 +0200)]
kernel: Remove NULL checks after kmalloc() with M_WAITOK.
Sascha Wildner [Sun, 8 Apr 2012 22:29:44 +0000 (00:29 +0200)]
acpi_hp(4): Fix some previously overlooked issues.
Sascha Wildner [Sun, 8 Apr 2012 19:19:02 +0000 (21:19 +0200)]
IPXrouted(8): Re-indent some code to make the outer for() better visible.
Sepherosa Ziehau [Sat, 7 Apr 2012 14:17:44 +0000 (22:17 +0800)]
carp: Lockless MPSAFE step 9 of many
Carry out timeout processing in netisr0
Sascha Wildner [Sat, 7 Apr 2012 13:18:59 +0000 (15:18 +0200)]
Document which drivers are using MSI and how it can be disabled.
Sascha Wildner [Sat, 7 Apr 2012 12:36:54 +0000 (14:36 +0200)]
kernel/pci: Adjust MSI allocation verbose message a bit.
Sascha Wildner [Sat, 7 Apr 2012 11:59:15 +0000 (13:59 +0200)]
arcmsr(4): Use the available dev variable (like bus_release_resource()).
Sascha Wildner [Sat, 7 Apr 2012 10:51:27 +0000 (12:51 +0200)]
arcmsr(4): Add MODULE_VERSION.
Sascha Wildner [Sat, 7 Apr 2012 10:50:02 +0000 (12:50 +0200)]
arcmsr(4): Use MSI if it is supported by the device.
Sascha Wildner [Sat, 7 Apr 2012 11:15:38 +0000 (13:15 +0200)]
kernel: Fix building with USERCONFIG but without VISUAL_USERCONFIG.
Reported-by: v_2e on users@
François Tigeot [Sat, 7 Apr 2012 07:08:46 +0000 (09:08 +0200)]
Kernel - properly handle max. io size when dumping
* A magic constant was used to define the maximum IO size used when
dumping core
* Stop this practice and use the information provided by the underlying
device driver, capping the result to MAXPHYS if needed.
* This should fix issue #2343
Sascha Wildner [Sat, 7 Apr 2012 02:17:29 +0000 (04:17 +0200)]
Update the pciconf(8) database.
Apr 4, 2012 snapshot from http://pciids.sourceforge.net/
Sascha Wildner [Fri, 6 Apr 2012 15:42:09 +0000 (17:42 +0200)]
<machine/param.h>: Bring back the DFLTPHYS define.
This is needed in pkgsrc, too, at least in graphics/sane-backends, which
is needed by KDE4 via ksaneplugin.
Until the impact on pkgsrc has been estimated and fixed, this define will
stay.
John Marino [Fri, 6 Apr 2012 11:05:50 +0000 (13:05 +0200)]
dlfcn: How weak!
John Marino [Fri, 6 Apr 2012 08:08:47 +0000 (10:08 +0200)]
rtld: Fix rtld_functrace
The replacement for the do_reloc functionality wasn't properly implemented
in commit
35b2b265aa300727e840990e41e604edb8b25314
Reported-by: swildner
John Marino [Fri, 6 Apr 2012 07:33:33 +0000 (09:33 +0200)]
rtld: Implement fdlopen(3)
Implement rtld interface fdlopen. It is similar to dlopen, but takes a
file description instead of a path to reference the shared object.
Taken from: FreeBSD SVN 229768 (07 JAN 2012)
Sepherosa Ziehau [Fri, 6 Apr 2012 09:30:34 +0000 (17:30 +0800)]
igb: Always prepare for vlan when setup reception unit
vlan could be added after igb is initialized/brought up.
Sepherosa Ziehau [Fri, 6 Apr 2012 09:27:58 +0000 (17:27 +0800)]
igb: vlan could detect that the parent interface is gone; don't prevent detach
Sepherosa Ziehau [Fri, 6 Apr 2012 09:08:26 +0000 (17:08 +0800)]
carp: Lockless MPSAFE step 8 of many
Dispatch virtual host addresses' extraction into netisr0
Sepherosa Ziehau [Fri, 6 Apr 2012 08:37:08 +0000 (16:37 +0800)]
carp: Cleanup, move most of the code left in ioctl into sub-ioctl functions
Sepherosa Ziehau [Fri, 6 Apr 2012 08:09:58 +0000 (16:09 +0800)]
carp: Lockless MPSAFE step 7 of many
Dispatch backing device's name extraction into netisr0
Matthew Dillon [Fri, 6 Apr 2012 06:40:03 +0000 (23:40 -0700)]
hammer2 - Support multiple PFS mounts from the same device
* Implement hammer2_pfsmount_t and move hmp->rchain, hmp->iroot, and
a few other fields into the new structure.
struct mount -> struct hammer2_pfsmount (pmp) -> struct hammer2_mount (hmp).
* Implement mount/umount logic to allow the device to be overloaded.
Multiple PFS labels associated with the same media may now be mounted.
* Generate a unique pfs_fsid for each PFS created, the {pfs_fsid, pfs_id}
tuple forms a unique key that the userland helper will use to distinguish
registrations.
Matthew Dillon [Fri, 6 Apr 2012 06:39:48 +0000 (23:39 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Sepherosa Ziehau [Fri, 6 Apr 2012 05:27:55 +0000 (13:27 +0800)]
carp: In ioctl, we have to recompute HMAC only if any configures are changed
Matthew Dillon [Fri, 6 Apr 2012 05:04:42 +0000 (22:04 -0700)]
hammer2 - Add pfs_list, pfs_create, pfs_delete
* Add functions to manage PFSs created under the super-root.
Matthew Dillon [Fri, 6 Apr 2012 05:04:08 +0000 (22:04 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Sepherosa Ziehau [Fri, 6 Apr 2012 04:57:17 +0000 (12:57 +0800)]
netstat: Reduce SACK scoreboard statistics description verbosity
Matthew Dillon [Fri, 6 Apr 2012 01:16:51 +0000 (18:16 -0700)]
hammer2 - helper thread skeleton listener
* Helper thread skeleton, listen & accept connections (just echo for now).
Matthew Dillon [Thu, 5 Apr 2012 22:50:22 +0000 (15:50 -0700)]
hammer2 - Start adding ioctl infrastructure, start writing hammer2 utility
* Begin working on the ioctl infrastructure for HAMMER2. Start with
basic version retrieval and the ability to persistently store
connection configuration in the volume header.
* Start writing the hammer2 utility, beginning with connection configuration
commands (connect, disconnect, status).
Matthew Dillon [Thu, 5 Apr 2012 22:48:34 +0000 (15:48 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Sascha Wildner [Thu, 5 Apr 2012 19:48:35 +0000 (21:48 +0200)]
dsched.9: A little mdoc correction.
Sascha Wildner [Thu, 5 Apr 2012 17:10:51 +0000 (19:10 +0200)]
kernel/ufs: Fix compilation without INVARIANTS.
Sascha Wildner [Thu, 5 Apr 2012 09:08:06 +0000 (11:08 +0200)]
ppp(8): Raise WARNS to 2 and fix the warnings.
Sascha Wildner [Wed, 4 Apr 2012 21:31:43 +0000 (23:31 +0200)]
kernel: Pass a real format string to functions which expect one.
This is safer than just passing a random string.
A few of these changes might be overly cautious but it doesn't
hurt to stick with using formats where they are expected more
or less generally.
Sascha Wildner [Wed, 4 Apr 2012 19:01:46 +0000 (21:01 +0200)]
bktr(4): Let kthread_create() construct the thread name.
Sascha Wildner [Wed, 4 Apr 2012 18:09:14 +0000 (20:09 +0200)]
kernel/acpi: Remove the redefinition of kthread_create().
It's a relict from an old pile of #ifdefs that defined various
incarnations of kthread_create()s for various FreeBSD versions.
The #ifdefs have since been removed and this #define is what
used to be the __DragonFly__ case.
There are only 3 places where kthread_create() is used in ACPI,
so remove it because it's just confusing.
While here, fix a non-constant format string in one of the
kthread_create()s.
Sepherosa Ziehau [Wed, 4 Apr 2012 13:11:36 +0000 (21:11 +0800)]
carp: Lockless MPSAFE step 6 of many
Run the carp information retrieving code in netisr0
Sepherosa Ziehau [Wed, 4 Apr 2012 12:41:06 +0000 (20:41 +0800)]
carp: Lockless MPSAFE step 5 of many
Dispatch SIOCSVH to netisr0 for further processing
Sepherosa Ziehau [Wed, 4 Apr 2012 12:07:22 +0000 (20:07 +0800)]
carp: Lockless MPSAFE step 4 of many
Dispatch "stop" method from if_ioctl to netisr0 for further processing
Sepherosa Ziehau [Wed, 4 Apr 2012 10:59:57 +0000 (18:59 +0800)]
carp: Lockless MPSAFE step 3 of many
Dispatch main part of if_init to netisr0 for further processing
Sepherosa Ziehau [Wed, 4 Apr 2012 09:52:18 +0000 (17:52 +0800)]
carp: Lockless MPSAFE step 2 of many
Dispatch major part of clone_destroy to netisr0 for further processing
Sepherosa Ziehau [Wed, 4 Apr 2012 09:26:36 +0000 (17:26 +0800)]
carp: Lockless MPSAFE step 1 of many
Dispatch ifnet_detach_event to netisr0 for further processing
Sepherosa Ziehau [Tue, 3 Apr 2012 13:19:48 +0000 (21:19 +0800)]
pf/carp: Our carp is never layed out in the fashion used by pf
Comment out the invalid usage temporarily
Sepherosa Ziehau [Tue, 3 Apr 2012 13:11:55 +0000 (21:11 +0800)]
carp: Remove unused code
Sepherosa Ziehau [Tue, 3 Apr 2012 12:57:15 +0000 (20:57 +0800)]
carp: Make sure that carp_ifaddr only happens in netisr0
Venkatesh Srinivas [Tue, 3 Apr 2012 03:59:20 +0000 (20:59 -0700)]
kernel -- vnlru: Remove MPLOCK from vnlru.
vnlru didn't need the mplock through its main loop.
Matthew Dillon [Mon, 2 Apr 2012 21:25:53 +0000 (14:25 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
François Tigeot [Mon, 2 Apr 2012 17:21:17 +0000 (19:21 +0200)]
vkernel: cap vdisk max. io size to MAXPHYS
Matthew Dillon [Mon, 2 Apr 2012 17:17:47 +0000 (10:17 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Matthew Dillon [Mon, 2 Apr 2012 17:16:21 +0000 (10:16 -0700)]
kernel - Add max I/O size cap to vmaxiosize()
* Cap the returned value at MAXPHYS, allowing VCHR devices to set a
higher max-IO limit (according to DMA limitations) without blowing
out the pbuf's that the frontend uses to build clustered I/O.
Matthew Dillon [Mon, 2 Apr 2012 17:12:16 +0000 (10:12 -0700)]
kernel - Reduce impact of write_behind on small/temporary files
* Do not start issuing write-behind writes until a file has grown past
a certain size, otherwise we wind up issuing excessive I/O for
small files and for temporary files which might be quickly deleted.
* Add vfs.write_behind_minfilesize sysctl (defaults to 10MB).
Matthew Dillon [Mon, 2 Apr 2012 17:10:33 +0000 (10:10 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Venkatesh Srinivas [Mon, 2 Apr 2012 17:02:25 +0000 (10:02 -0700)]
kernel -- FFS: Take softdep lock in softdep_disk_io_initiation.
softdep_disk_io_initiation was using the mplock rather than the softdep
lock to protect the softdep work queue and items on it. Take the softdep
lock and allow it to be taken recursively, so that io_start bioops can
call into other parts of softdep. Prevents softdep completion callback
from racing softdep_disk_io_initiation, remaining panics of 2291.
Eventually the MPLOCK in the bio_ops callback can go away, but that will
require more testing.
Closes-bug: 2291
Sascha Wildner [Mon, 2 Apr 2012 08:21:42 +0000 (10:21 +0200)]
Sync zoneinfo database with tzdata2012c from munnari.oz.au
africa: 8.33 -> 8.35
asia: 8.70 -> 8.73
northamerica: 8.53 -> 8.54
* africa: Morocco 2012 DST from last Sunday in April through last
Sunday in September.
* asia: Change start of DST in Syria to last Friday in March in
2012 and (as a guess) forward. Starts and (guessed) ends of
DST in West Bank and Gaza for 2012. Also add a missing HTML
directive at the top of the file.
* northamerica: Start and end of DST in Haiti in 2012 according
to US rules.
François Tigeot [Mon, 2 Apr 2012 06:34:35 +0000 (08:34 +0200)]
Kernel: Set max io size limit for all disk devices
* Prior to this change, slice and partition devices did not inherit their
parent maximum IO size limit
* IO transactions on these devices could thus never be bigger than the
old 64KB DFLTPHYS defaul kernel limit
Sascha Wildner [Sun, 1 Apr 2012 10:10:08 +0000 (12:10 +0200)]
fsstress: Adjust the sample script a bit.
Matthew Dillon [Sun, 1 Apr 2012 02:03:22 +0000 (19:03 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Matthew Dillon [Sun, 1 Apr 2012 01:35:33 +0000 (18:35 -0700)]
HAMMER VFS - Fix assertion with multi-volume setup
* The RB compare code for hammer_io was extracting the volume number
from the wrong place, creating a situation where duplicate hammer_io's
would sometimes be inserted in the RB tree (causing an assertion + panic).
* Pull the volume number from a different field.
Reported-by: Mark Saad <nonesuch@longcount.org>
Matthew Dillon [Sun, 1 Apr 2012 01:33:59 +0000 (18:33 -0700)]
kernel - Do not use M_USE_INTERRUPT_RESERVE for M_NOWAIT
* Redefine M_NOWAIT to not use M_USE_INTERRUPT_RESERVE. This can result
in mbuf exhaustion during bursts of mbuf allocations and cause kernel
kvm expansion to assert and panic.
Reported-by: sephe
Matthew Dillon [Sun, 1 Apr 2012 01:30:13 +0000 (18:30 -0700)]
kernel - Fix signal masking race assertion panic w/vkernel
* sigsuspend() and pselect() record the old signal mask in order to
allow an interrupting signal to run its handler before the old mask
is restored.
* When multiple threads are present a race can ensue where another thread
changes the signal handler after sigsuspend() or pselect() have interrupted,
but before they are able to process the signal.
* If the signal is no longer enabled the old signal mask is not restored
on system call return, resulting in an assertion and panic.
* Fix the problem by checking the flag and restoring the old signal mask
on return (rather than asserting when the flag is found to be non-zero
on return).
Reported-by: Venkatesh Srinivas
Sascha Wildner [Sat, 31 Mar 2012 22:22:46 +0000 (00:22 +0200)]
libm: Fix a typo in the MLINKS.
Sascha Wildner [Sat, 31 Mar 2012 18:34:05 +0000 (20:34 +0200)]
Fix some indentation in various places.