John Baldwin [Thu, 10 Jan 2002 21:40:33 +0000 (21:40 +0000)]
Unrevert revision 1.12. Revision 1.14 backed this out saying it was
backing out the 1024 sector boot0, but revision 1.12 had nothing to do with
that. Instead, it documented various compile time options for boot0 and
allowed them to be overridden via make.conf or options on the make
command line.
Matthew Dillon [Thu, 10 Jan 2002 18:31:53 +0000 (18:31 +0000)]
Add vlruvp() routine - implements LRU operation for vnode recycling.
We calculate a trigger point that both guarentees we will find a
sufficient number of vnodes to recycle and prevents us from recycling
vnodes with lots of resident pages. This particular section of
code is designed to recycle vnodes, not do unnecessary frees of
cached VM pages.
Do not pull quota entries of the cache-list if they have already
been removed from the cache-list as part of a previous unmount.
This would result in panics (page fault in dqflush()) during subsequent
umounts provided that enough distinct UID's to actually make the
hash do something are active.
This can probably explain a number of weird quota related behaviours.
PR: 32331 maybe more.
Reproduced by: Søren Schrørder <sch@cybercity.dk>
Ruslan Ermilov [Thu, 10 Jan 2002 15:01:56 +0000 (15:01 +0000)]
mdoc(7) police:
Fixed bugs from previous delta:
- Removed duplicate -m and -o options from SYNOPSIS
- Added missing -L option to SYNOPSIS
- Removed duplicate -M option from DESCRIPTION
- Tidy up the markup
Bruce Evans [Thu, 10 Jan 2002 11:49:55 +0000 (11:49 +0000)]
Clear the single-step flag for signal handlers. This fixes bogus trace
traps on the first instruction of signal handlers.
In trap.c:syscall(), fake a trace trap if the single-step flag was set
on entry to the kernel, not if it will be set on exit from the kernel.
This fixes bogus trace traps after the last instruction of signal handlers.
gdb-4.18 (the version in FreeBSD) still has problems with the program in
the PR. These seem to be due to bugs in gdb and not in FreeBSD, and are
fixed in gdb-5.1 (the distribution version).
PR: 33262
Tested by: k Macy <kip_macy@yahoo.com>
MFC after: 1 day
Marcel Moolenaar [Thu, 10 Jan 2002 05:36:36 +0000 (05:36 +0000)]
Further fixes related to the interface renaming. Now that we
properly translate the interface name passed to us, make sure
we also translate correctly before we return the list of
interfaces with the SIOCGIFCONF ioctl. It is common to use
the interface names returned by that ioctl in further ioctls,
such as SIOCGIFFLAGS.
Remove linux_ifname as it is no longer used. Also remove
ifname_bsd_to_linux as it cannot be used anymore now that
linux_ifname is removed (was deadcode anyway).
Reported and tested by: Andrew Atrens <atrens@nortelnetworks.com>
Mike Smith [Thu, 10 Jan 2002 03:52:01 +0000 (03:52 +0000)]
Eliminate the use of commons in the kernel and modules,
simplifying the module linking process and eliminating the risks
associated with doubly-defined variables.
Cases where commons were legitimately used (detection of
compiled-in subsystems) have been converted to use sysinits, and
any new code should use this or an equivalent practice as a
matter of course.
Modules can override this behaviour by substituting -fno-common
out of ${CFLAGS} in cases where commons are necessary
(eg. third-party object modules). Commons will be resolved and
allocated space when the kld is linked as part of the module
build process, so they will not pose a risk to the kernel or
other modules.
Provide a mechanism for controlling the export of symbols from
the module namespace. The EXPORT_SYMS variable may be set in the
Makefile to NO (export no symbols), a list of symbols to export,
or the name of a file containing a newline-seperated list of
symbols to be exported. Non-exported symbols are converted to
local symbols. If EXPORT_SYMS is not set, all global symbols are
currently exported. This behaviour is expected to change (to
exporting no symbols) once modules have been converted.
Reviewed by: peter (in principle)
Obtained from: green (kmod_syms.awk)
Daniel Eischen [Thu, 10 Jan 2002 02:36:30 +0000 (02:36 +0000)]
Use a spare slot in the machine context to identify the context format
and to inherently verify its validity. Alpha signal frames and trap
frames are different; this field identifies which format the context
is
Set the machine context format (signal frame) before copying it out
when sending a signal.
Ian Dowse [Thu, 10 Jan 2002 02:15:35 +0000 (02:15 +0000)]
Terminate requests in nfs_sigintr() if the filesystem is in the
process of being unmounted. This allows forced NFS unmounts to
complete even if there are processes stuck holding the mnt_lock
while the server is down. The mechanism is not ideal in that there
is a small chance we might accidentally cancel requests during a
failed non-forced unmount attempt on that filesystem, but this
is not really a big problem.
Also, move the tsleep() in nfs_nmcancelreqs() so that we do not
sleep in the case where there are no requests to be cancelled.
Ian Dowse [Thu, 10 Jan 2002 01:59:30 +0000 (01:59 +0000)]
Change dounmount() to return EBUSY in the non-MNT_FORCE case if we
can't acquire the mnt_lock without blocking. Normally non-forced
unmount attempts return EBUSY quickly if any vnodes are active, so
this just extends that behaviour to cover the per-mount mnt_lock
too.
Robert Watson [Thu, 10 Jan 2002 01:25:35 +0000 (01:25 +0000)]
o Revert kern_sig.c#1.143, as cr_cansignal() doesn't currently permit
a number of desirable cases in which SIGIO/SIGURG are delivered. We'll
keep tweaking.
Daniel Eischen [Wed, 9 Jan 2002 17:36:53 +0000 (17:36 +0000)]
Initialze a stack variable with NULL to unbreak buildworld with -Wall.
I don't know about anyone else, but the compiler was always aborting
on this stupid warning, and has been doing so for weeks.
Jacques Vidrine [Wed, 9 Jan 2002 13:13:51 +0000 (13:13 +0000)]
Fix the rxvt termcap entry:
= Get the alternate character set capabilities right.
= Enable color support for `rxvt'.
= Add `rxvt-mono' for no color support.
Mike Smith [Wed, 9 Jan 2002 03:39:04 +0000 (03:39 +0000)]
Define the kern.cam sysctl in the cam layer, rather than multiply in several
peripheral drivers. Remove Ken's comment to the effect that this needed
to be done.