Jeff Roberson [Mon, 17 Jun 2002 22:02:41 +0000 (22:02 +0000)]
- Introduce the new M_NOVM option which tells uma to only check the currently
allocated slabs and bucket caches for free items. It will not go ask the vm
for pages. This differs from M_NOWAIT in that it not only doesn't block, it
doesn't even ask.
- Add a new zcreate option ZONE_VM, that sets the BUCKETCACHE zflag. This
tells uma that it should only allocate buckets out of the bucket cache, and
not from the VM. It does this by using the M_NOVM option to zalloc when
getting a new bucket. This is so that the VM doesn't recursively enter
itself while trying to allocate buckets for vm_map_entry zones. If there
are already allocated buckets when we get here we'll still use them but
otherwise we'll skip it.
- Use the ZONE_VM flag on vm map entries and pv entries on x86.
Nick Hibma [Mon, 17 Jun 2002 20:57:54 +0000 (20:57 +0000)]
Avoid reprobing on loading a driver. This does not work as the ivars set
during the previous probe are stale.
What really should be done is route the probe through
device_probe_and_attach bit this is one of those ICBBATIASS (I can't be
bothered as there is a simpler solution). The user can easily replug the
device after kldloading a new device driver.
Jake Burkholder [Mon, 17 Jun 2002 15:44:10 +0000 (15:44 +0000)]
Add constants for the min and max prom addresses. Use these instead of
magic numbers. Use stxa_sync instead of stxa; membar #Sync; to ensure
that no instruction is placed between the two. This can cause random
corruption even though interrupts are already disabled.
Bruce Evans [Mon, 17 Jun 2002 15:28:59 +0000 (15:28 +0000)]
e_pow.c:
Fixed pow(x, y) when x is very close to -1.0 and y is a very large odd
integer. E.g., pow(-1.0 - pow(2.0, -52.0), 1.0 + pow(2.0, 52.0)) was
0.0 instead of being very close to -exp(1.0).
PR: 39236
Submitted by: Stephen L Moshier <steve@moshier.net>
e_powf.c:
Apply the same patch although it is just cosmetic because odd integers
large enough to cause the problem are too large to be precisely represented
as floats.
Bill Fenner [Mon, 17 Jun 2002 15:26:56 +0000 (15:26 +0000)]
In TTEST2(), check to make sure the "l" argument isn't so large that
"snapend - l" underflows; this fixes a buffer overflow with malformed
NFS packets, and may fix other buffer overflows with malformed packets.
Alfred Perlstein [Mon, 17 Jun 2002 09:39:30 +0000 (09:39 +0000)]
remove bogus comment, select/poll do NOT need to fhold as they hold the
filedesc lock.
style(9) fixes, add blank line at start of functions with no local variables.
Garrett Wollman [Mon, 17 Jun 2002 01:42:33 +0000 (01:42 +0000)]
Move dillon's time conversion functions to a new header <timeconv.h>.
Since they were never documented and have never appeared in a FreeBSD
release, no repo-copy of the header is done. This removes namespace
pollution from <time.h>.
Brian Somers [Mon, 17 Jun 2002 01:12:38 +0000 (01:12 +0000)]
Compensate for dodgy Win98/WinME MSCHAPv2 responses later in the code
path... after we've talked to any RADIUS servers involved, so that we
haven't touched the data before it gets to the server.
Make it clearer in the code that this compensation is done by setting
a flag to a value of zero, a flag which rfc2759 says *MUST* be zero.
While we're here, don't bother passing the peer challenge into
radius_Authenticate(). It's already part of the key we're passing in
(this becomes obvious now that I've structured that data...).
This ``fix'' doesn't help to authenticate Win98/WinME users in my test
environment as ports/net/freeradius seems to ignore the flag
completely anyway, but it may help with other RADIUS servers.
Remove <sys/select.h> to unbreak the build. I'm not sure if this affects
the functionality of the drm module, but hopefully it will tide us over
until Eric can take a look at it.
Alan Cox [Sun, 16 Jun 2002 20:42:29 +0000 (20:42 +0000)]
o Remove GIANT_REQUIRED from vm_fault_user_wire().
o Move pmap_pageable() outside of Giant in vm_fault_unwire().
(pmap_pageable() is a no-op on all supported architectures.)
o Remove the acquisition and release of Giant from mlock().
Garrett Wollman [Sun, 16 Jun 2002 18:35:24 +0000 (18:35 +0000)]
Use <sys/_sigset.h> to get declaration of sigset_t, which has been moved
to a separate header to facilitate its declaration in more than one
place. Namespace issues not fixed.
Matt Jacob [Sun, 16 Jun 2002 05:18:22 +0000 (05:18 +0000)]
If the HBA is already 'touched', still set maxluns. Othewise for
CAM_QUIRK_HILUN devices we loop thru 32bits of lun. Oops.
Switch to using USEC_DELAY rather than USEC_SLEEP at isp_reset time.
Try to paper around a defect in clients that don't correctly registers
themeselves with the fabric nameserver.
Minor updates for Mirapoint support- they still use code that is not
HANDLE_LOOPSTATE_IN_OUTER_LAYERS, and, surprise surprise, this old
stuff had some bugs in it.
Matt Jacob [Sun, 16 Jun 2002 05:08:02 +0000 (05:08 +0000)]
Add support for ISP_FC_GETHINFO, which returns current connection
topology, speed, loopid, WWPN/WWNN, etc.
Beef up target mode. Add isp_handle_platform_notify_scsi and
isp_handle_platform_notify_fc platform handlers to handle immediate
notifies (isp_handle_platform_notify_scsi is still stubbed out).
In implementation of isp_handle_platform_notify_fc, for IN_ABORT_TASK,
peel off a pending XPT_IMMED_NOTIFY and call xpt_done on it and hope
that somebody upstream is listening.
Make sure on final CTIO2s that we set residual correctly. These are
absolutely crucial. Make sure we set relative offset for each CTIO2
based upon bytes we've already xferred. This is what the private
adjunct datat to the original ATIO is. Note state of command so
we can figure out where to find it if we get an ABORT from the firmware.
Make sure we *always* set CAM_TAG_ACTION_VALID for ATIO2s. Make sure
we keep track of the original lun.
If se sent status (or we're otherwise done with the command), don't
forget to free the adjunct structure.
Matt Jacob [Sun, 16 Jun 2002 05:02:25 +0000 (05:02 +0000)]
Extend private adjunct to ATIO to have both tag lun, and extended state
(so we can, when things get lost, find out who currently is processing
on behalf of this open exchange. Invariably, when things are lost and
wedged, it's CAM).
Matt Jacob [Sun, 16 Jun 2002 04:54:46 +0000 (04:54 +0000)]
Set default command count to 0xfe. This tells the f/w essentially
to *not* do flow control based upon resource counts for the firmware.
Increase default immediate notify count to 16.
Change isp_target_async to a function returning an integer.
Tim J. Robbins [Sun, 16 Jun 2002 04:06:58 +0000 (04:06 +0000)]
When trying to emulate a cross-device move operation with cp and rm, add
a "--" argument after the options so filenames with leading dashes are
handled correctly.
PR: 39318
Submitted by: Serge van den Boom <svdb@stack.nl>
MFC after: 1 week
Add a nearly complete rewrite of the lpc command 'down'. The only user-
visible change should be that more than one queue can now be specified,
if one uses the '-msg' parameter to separate the list of queues from the
status message to set.
The previous implementation of 'down' remains available as the command
'xdown', available for instant fallback if there seems to be anything
wrong with the new one. If no one reports a problem after a few weeks,
then a later update will remove 'xdown'.
Reviewed by: freebsd-print@bostonradio.org
MFC after: 10 days
Garrett Wollman [Sat, 15 Jun 2002 23:35:37 +0000 (23:35 +0000)]
Partially fix namespace visibility issues by using new visibility macros.
Some issues still remain, and will require research in old POSIX standards
if we care to get them right.
Add a new command to 'lpc' called 'setstatus', which would be used to
change the status message of a print queue. This includes some minor
changes to the upstat() routine, so that error messages are not printed
while seteuid(priv-user).
Reviewed by: freebsd-audit and freebsd-print@bostonradio.org
MFC after: 10 days
Maxime Henrion [Sat, 15 Jun 2002 22:48:14 +0000 (22:48 +0000)]
nmount'ify unionfs further by using separate options instead
of passing a flags mount options. This removes the include of
sys/fs/unionfs/union.h in mount_unionfs as it should be.
Tim J. Robbins [Sat, 15 Jun 2002 10:52:20 +0000 (10:52 +0000)]
Remove obsolescent -tabstop option from Synopsis (it was already removed
from the usage() message). Document what the -t option does in a more
standard place. Add a standard Diagnostics section.
Tim J. Robbins [Sat, 15 Jun 2002 10:16:39 +0000 (10:16 +0000)]
Allow <blank>s to be used to separate tab stop positions with the -t
argument, not just ASCII space characters and commas. Don't count
non-printing characters when determining column position.
Tim J. Robbins [Sat, 15 Jun 2002 07:38:27 +0000 (07:38 +0000)]
Improve parsing of character and equivalence classes:
[:*] and [=*] are parsed as `infinitely many repetitions of :' (or *)
instead of literal characters (SUSv3)
Chris Costello [Sat, 15 Jun 2002 06:00:56 +0000 (06:00 +0000)]
o Move more information from BUGS into SECURITY CONSIDERATIONS and
condense the redundant bits.
o Provide an example for using snprintf over sprintf. This may be
supplemented with an asprintf() example soon.
Maxime Henrion [Fri, 14 Jun 2002 20:04:21 +0000 (20:04 +0000)]
Change vfs_copyopt() so that the length argument passed to it
must be the exact same size as the mount option. This makes
vfs_copyopt() much more useful.
Garrett Wollman [Fri, 14 Jun 2002 19:37:06 +0000 (19:37 +0000)]
Implement the <sys/statvfs.h> header. Related changes to <sys/types.h>
are still awaiting a worldstone. Functions and their declarations to
come later.
Andrew R. Reiter [Fri, 14 Jun 2002 19:31:07 +0000 (19:31 +0000)]
- Chainsaw the storage pool code. This was being used by a bunch of code
within the HARP atm stack and the hea and hfa device drivers, but since
all of these systems were changed to use UMA zones, there is no use for
the api any longer.
Alan Cox [Fri, 14 Jun 2002 18:21:01 +0000 (18:21 +0000)]
o Use vm_map_wire() and vm_map_unwire() in place of vm_map_pageable() and
vm_map_user_pageable().
o Remove vm_map_pageable() and vm_map_user_pageable().
o Remove vm_map_clear_recursive() and vm_map_set_recursive(). (They were
only used by vm_map_pageable() and vm_map_user_pageable().)