Matthew Dillon [Sun, 19 Oct 2003 00:13:18 +0000 (00:13 +0000)]
Hack up param.h even more so sys/socket.h can include portions of it without
polluting the namespace (like it did before), but without preventing another
header or source file from including it directly, as well.
Matthew Dillon [Sat, 18 Oct 2003 23:59:58 +0000 (23:59 +0000)]
Don't try to call an ipiq function with a UP build when the cpuid doesn't
match, panic instead.
Hiten Pandya [Sat, 18 Oct 2003 21:40:41 +0000 (21:40 +0000)]
Add the pim(4) and multicast(4) manual pages, following
Jeffrey Hsu's recent addition of the Protocol Independent Multicasting
code.
Both manual pages by: Pavlin Radoslavov <pavlin@icir.org>
Matthew Dillon [Sat, 18 Oct 2003 20:41:08 +0000 (20:41 +0000)]
Remove a diagnostic message that detected PHOLD() vs exit()/process-reaping
races. The races are handled just fine, the message was just to see if they
could even occur (and they can).
Matthew Dillon [Sat, 18 Oct 2003 20:15:10 +0000 (20:15 +0000)]
Fix races in ihashget that were introduced when I introduced the
lwkt_gettoken() API to interlock the vnode and hash table ops.
Report-by: David Rhodus.
Hiten Pandya [Sat, 18 Oct 2003 20:12:26 +0000 (20:12 +0000)]
Update sysinstall's NFS module:
* Add ability to select NFSv3 version (default)
* Add ability to use TCP as protocol. TCP is
not made default to retain automatic compatiblity
with a wider range of NFS servers.
* Fix argument processing in mediaInitNFS(), variable_get()
cannot be used in a conditional statement because it returns
a "char *" string; instead, use variable_cmp().
* Update I/O block sizes in the case when NFS_SLOW is not
set to "YES". Previously, the NFS_SLOW case had a bigger
block size than the fast case which defaulted to 512b,
whereas the former was 1024. The new block size used is
4096, which is reasonable for the lowest of connection
mediums.
Reviewed by: dillon, drhodus
Matthew Dillon [Sat, 18 Oct 2003 20:07:32 +0000 (20:07 +0000)]
machine/param.h has to be included outside of _KERNEL for MAXCPU.
Matthew Dillon [Sat, 18 Oct 2003 19:59:45 +0000 (19:59 +0000)]
Make vmstat -m understand the new per-cpu aggregation for
malloc_type statistics.
Hiten Pandya [Sat, 18 Oct 2003 14:17:30 +0000 (14:17 +0000)]
Use vnconfig(8) instead of mdconfig(8) to enable ${swapfile},
as the latter is not available.
Submitted by: Skip Ford <skip.ford@verizon.net>
Hiten Pandya [Sat, 18 Oct 2003 12:13:01 +0000 (12:13 +0000)]
Add SysV IPC regression suite.
Obtained from: NetBSD
Hiten Pandya [Sat, 18 Oct 2003 11:53:43 +0000 (11:53 +0000)]
Fix build by not attempting to compile libc's malloc directly.
Submitted by: Skip Ford <skip.ford@verizon.net>
Matthew Dillon [Sat, 18 Oct 2003 05:53:57 +0000 (05:53 +0000)]
Fix memory leaks in the namecache code commited so far to stabilize its
memory use. These are temporary fixes.
Matthew Dillon [Sat, 18 Oct 2003 05:48:44 +0000 (05:48 +0000)]
Make malloc_type statistics per-cpu, which fixes statistics update races
in the slab allocator that would result in malloc statistics being way off.
Matthew Dillon [Fri, 17 Oct 2003 07:44:18 +0000 (07:44 +0000)]
Fix a uni-processor bug with the last commit... we weren't rescheduling on
priority changes.
Matthew Dillon [Fri, 17 Oct 2003 07:30:43 +0000 (07:30 +0000)]
Cleanup P_CURPROC and P_CP_RELEASED handling. P_CP_RELEASED prevents the
userland scheduler from messing with a process and must be set (in a lazy
fashion) when a thread that came in from userland is about to block in
the kernel. P_CURPROC is used to manage which threads belonging to
processes controlled by the userland scheduler are scheduled by LWKT.
The userland scheduler has also been streamlined considerably.
p_priority now has a rollup priority that can be compared directly,
regardless of the realtime/idle/whatever queue a process is on.
p_priority has been changed from an unsigned char to a signed short.
schedclock is now distributed, so 'top' shows the correct values.
A huge amount of cpu affinity code has been added to the scheduler. It is
not working 100% yet, but the framework is there (see kern/kern_switch.c).
globaldata now has gd_upri to support remote reschedule requests issued
by the affinity code. There are two goals to the new scheduling code for
MP boxes: (1) so niced/idleprio cpu bound programs do not interfere
*at* *all* with other things (like, say, a buildworld). (2) to reduce
the flip-flopping of processes between cpus.
lwkt_gettoken() now increments the generation number unconditionally so
kernel code can detect when other processes have used a token.
lwkt_send_ipiq_mask() removes stopped cpus from the mask automatically.
David P. Reese, Jr. [Fri, 17 Oct 2003 05:25:45 +0000 (05:25 +0000)]
Create kern_readv() and kern_writev() and use them to split read(), pread(),
readv(), write(), pwrite(), and writev().
Also, rewrite linux_pread() and linux_pwrite() using the in-kernel syscalls.
Matthew Dillon [Thu, 16 Oct 2003 23:59:15 +0000 (23:59 +0000)]
Remove PUSER entirely. Since p_priority has nothing to do with kernel
thread priorities, the userland scheduler can now use the entire range 0-127.
Document the estcpu and other macros related to the p_priority calculation.
Adjust the default values such that a cpu bound nice -20 process will not
completely starve a nice +0 process (though it gets close!). Note that a
nice +2 process will not run at all in the face of a cpu bound nice -20
process.
Matthew Dillon [Thu, 16 Oct 2003 22:26:42 +0000 (22:26 +0000)]
Fix the userland scheduler. When the scheduler releases the P_CURPROC
designation it unconditionally handed it off to the highest priority
process on the userland process queue, ignoring the fact that the 'current'
process might have had a higher priority. There was also a missing call to
lwkt_maybe_switch() in the resched_wanted() case that could cause interrupt
threads to stall for a long period of time when they could not preempt.
In SMP there are still some issues. Niced processes work better, but at
the moment the P_CURPROC handoff does not take into account the fact that
the new higher priority process might better be handed off to another cpu
that is running a lower priority process then the current cpu.
Matthew Dillon [Thu, 16 Oct 2003 01:18:00 +0000 (01:18 +0000)]
correct the .PATH for access to scvesactl.c
Report-by: David Rhodus <drhodus@catpa.com>
Matthew Dillon [Wed, 15 Oct 2003 23:27:06 +0000 (23:27 +0000)]
Have lwkt_reltoken() return the generation number to facilitate checks
for stolen tokens. Cleanup, optimize, and better document lwkt_gentoken().
Matthew Dillon [Wed, 15 Oct 2003 21:52:38 +0000 (21:52 +0000)]
Fix an inherited bug in ptrace's PT_IO. The wrong thread was being assigned
to the UIO.
Hiten Pandya [Wed, 15 Oct 2003 16:48:04 +0000 (16:48 +0000)]
Second contigmalloc() cleanup:
* Move the contigmalloc/vm_contig_pg API into its own
file, vm_contig.c.
* Give contigmalloc1() a more sensible to reflect its
purpose, contigmalloc_map().
Hiten Pandya [Wed, 15 Oct 2003 16:03:04 +0000 (16:03 +0000)]
Major contigmalloc() API cleanup:
* split the contigmalloc() function into two distinct
functions:
- vm_contig_pg_alloc(): this function does the alloc
of contiguous pages.
- vm_contig_pg_kmap(): this function maps the allocated
range of pages into a VM map (i.e. kernel map).
* remove the duplicated page queue flush management handling
and put it into a separate function, vm_contig_pg_clean().
The split is important for some special case drivers, which
like to allocated >2G contig memory, and then mmpa(2) it to
userland for various purposes.
By splitting, the contigmalloc/vm_contig_pg API does not
enforce the client to map the contiguous pages into the
KVA, which would have otherwise failed the allocation.
These functions will probably be moved to their own file
some time soon.
Reviewed/Approved/Tested by: Matt Dillon
Hiten Pandya [Wed, 15 Oct 2003 15:37:58 +0000 (15:37 +0000)]
Remove zalloci/zfreei from the Makefile too.
Hiten Pandya [Wed, 15 Oct 2003 15:36:44 +0000 (15:36 +0000)]
Nuke the zalloci() and zfree() stuff sky-high. We no longer have
those functions as zalloc/zfree are interrupt and MP safe.
David P. Reese, Jr. [Wed, 15 Oct 2003 08:43:37 +0000 (08:43 +0000)]
I wasn't properly checking for rollover in iovec_copyin(). Remove code
that ineffectively checks for rollover by checking if a size_t was ever
less than zero (duh).
Add the proper error checking to kern_sendmsg() and kern_recvmsg() which
recieve a uio structure that was populated with the aid of iovec_copyin().
David P. Reese, Jr. [Wed, 15 Oct 2003 06:38:46 +0000 (06:38 +0000)]
Rename do_dup() to kern_dup() and pull in some changes from FreeBSD-CURRENT.
Implement dup(), dup2() and fcntl(F_DUPFD) with kern_dup().
Split fcntl() into fcntl() and kern_fcntl().
Implement linux_fcntl() using kern_fcntl() and replace a call to fcntl()
in linux_accept() with a call to kern_fcntl().
Matthew Dillon [Tue, 14 Oct 2003 23:13:05 +0000 (23:13 +0000)]
Update the sys_sig* manual page to include portability suggestions.
Matthew Dillon [Tue, 14 Oct 2003 23:04:10 +0000 (23:04 +0000)]
NSIG is now 64. Extend the siglist arrays to match.
Matthew Dillon [Tue, 14 Oct 2003 23:03:08 +0000 (23:03 +0000)]
/bin/sh needs to use sys_nsig, not NSIG, when accessing static arrays
defined in libc. /bin/sh also needs to check for NULL entries.
Matthew Dillon [Mon, 13 Oct 2003 23:57:41 +0000 (23:57 +0000)]
Make sure PORTSDIR is not in the environment when bootstrapping a
DragonFly port from a FreeBSD port.
Matthew Dillon [Mon, 13 Oct 2003 21:24:29 +0000 (21:24 +0000)]
Add checkpoint tty signaling support to stty and tcsh. The signal
defaults to '^E'.
Matthew Dillon [Mon, 13 Oct 2003 21:16:42 +0000 (21:16 +0000)]
Oops, I gave Kip bad advise. The checkpoint execution code is supposed
to be in issignal(), not psignal()!
Matthew Dillon [Mon, 13 Oct 2003 21:16:10 +0000 (21:16 +0000)]
Start separating the ucred from NDINIT.
Matthew Dillon [Mon, 13 Oct 2003 21:15:48 +0000 (21:15 +0000)]
Fix miscellanious kern_fp.c bugs.
Matthew Dillon [Mon, 13 Oct 2003 21:08:50 +0000 (21:08 +0000)]
Use the one remaining free termios control character slot for a tty
checkpoint capability, which defaults to ^E and sends the SIGCKPT signal.
Matthew Dillon [Mon, 13 Oct 2003 18:12:07 +0000 (18:12 +0000)]
Extend NSIG to 64 and introduce a registration function for the checkpointing
signal to support the checkpoint module. This is somewhat of a hack at the
moment but will be cleaned up later.
Submitted-by: Kip Macy <kmacy@fsmware.com>
Matthew Dillon [Mon, 13 Oct 2003 18:01:28 +0000 (18:01 +0000)]
Augment falloc() to support thread-only file pointers (with no integer file
descriptor or process).
Add new generic 'easy to use' fp_*() kernel functions which operate on file
pointers. This will greatly ease in-kernel functions which must open,
perform I/O, and close files.
Adopted from: other kernel sources and Kip Macy's checkpoint code.
Matthew Dillon [Mon, 13 Oct 2003 15:06:58 +0000 (15:06 +0000)]
Add bsd.dfport.pre.mk and bsd.dfport.post.mk to the Makefile
Matthew Dillon [Mon, 13 Oct 2003 08:43:56 +0000 (08:43 +0000)]
add /usr/share/examples/splash to the mtree, for installworld.
Hiten Pandya [Mon, 13 Oct 2003 07:03:40 +0000 (07:03 +0000)]
Fix an ordering issue, call vm_map_entry_reserve() prior to locking
the map.
Noticed by: Matt
Hiten Pandya [Mon, 13 Oct 2003 06:56:13 +0000 (06:56 +0000)]
AMI MegaRAID Crash-Dumps support.
Special thanks to Paul Saab (ps@FreeBSD.ORG) for providing the patch.
David P. Reese, Jr. [Mon, 13 Oct 2003 04:58:13 +0000 (04:58 +0000)]
Implement socket() and shutdown() using the in-kernel syscalls. This
commit completely removes COMPAT_43 and stackgap allocations from
linux_socket.c.
Hiten Pandya [Mon, 13 Oct 2003 04:16:51 +0000 (04:16 +0000)]
Fix kldload(2) error return when a module is rejected becaue it is
statically linked into the kernel. This is due to a problem in the
linker code. The EEXIST code which was returned was not reported
and instead an ENOEXEC was returned incorrectly, thus making stuff
like sysinstall act weirdly.
Obtained from: FreeBSD 5.x
Matthew Dillon [Mon, 13 Oct 2003 03:15:26 +0000 (03:15 +0000)]
Add a splash example / DragonFly BMP
Supplied-by: Emiel Kollof <coolvibe@hackerheaven.org>
Hiten Pandya [Sun, 12 Oct 2003 23:38:53 +0000 (23:38 +0000)]
Fix compile when GUPROF is defined.
I.e. add cpu_ prefix to disable_intr() and enable_intr().
David Rhodus [Sun, 12 Oct 2003 16:56:26 +0000 (16:56 +0000)]
* Pull is some security checks from sendmail 8.12.10.
Discussed with: Greg Shapiro and Matt Dillon
Matthew Dillon [Sun, 12 Oct 2003 01:43:59 +0000 (01:43 +0000)]
More hacks to support DragonFly port overrides. Deal with ports which
use bsd.port.pre.mk and bsd.port.post.mk.
Matthew Dillon [Sun, 12 Oct 2003 00:52:48 +0000 (00:52 +0000)]
Fix bugs introduced from the last commit. The loadav routine somehow got
deleted, and other minor things.
Matthew Dillon [Sun, 12 Oct 2003 00:45:24 +0000 (00:45 +0000)]
document the new fdisk option.
Matthew Dillon [Sun, 12 Oct 2003 00:43:17 +0000 (00:43 +0000)]
Add a -p option to fdisk that allows it to operate on normal files which
represent disk images.
Matthew Dillon [Sat, 11 Oct 2003 21:14:25 +0000 (21:14 +0000)]
Upgrade isc-dhcp, e.g. dhclient.
Taken-from: FreeBSD-current
Matthew Dillon [Sat, 11 Oct 2003 21:08:33 +0000 (21:08 +0000)]
add bsd.dfport.pre.mk and bsd.dfport.post.mk, part of the DragonFly ports
override mechanism.
David Rhodus [Sat, 11 Oct 2003 19:30:42 +0000 (19:30 +0000)]
* Add missing function declaration that was some how
missed during inital ACPI import.
David Rhodus [Sat, 11 Oct 2003 19:04:58 +0000 (19:04 +0000)]
* Move variable 'p' into a more proper place.
David Rhodus [Sat, 11 Oct 2003 13:37:14 +0000 (13:37 +0000)]
* Add this nice filesystem testing tool that I've recently
missed having close by.
Hiten Pandya [Sat, 11 Oct 2003 11:38:44 +0000 (11:38 +0000)]
Correct unsafe use of realloc().
Obtained from: FreeBSD (KAME commit by Hajimu UMEMOTO)
Hiten Pandya [Sat, 11 Oct 2003 09:56:48 +0000 (09:56 +0000)]
Security Fix:
Fix a BSS buffer overflow caused by makeargv() writing past the
end of margv[] when an input line contains 20 or more space
separated words.
Obtained from: FreeBSD
Matthew Dillon [Fri, 10 Oct 2003 22:01:13 +0000 (22:01 +0000)]
Data reads and writes should not need credentials, and most filesystems
ignore the ucred argument. NFS does, though, and FreeBSD-4.x had some
terrible hacks to associate credentials with data that only 'mostly' worked.
There were VM paging and buffer reconstitution cases which broke the
credentials even in 4.x. The hacks were removed from DragonFly during
the VFS messaging reorganization.
In DragonFly credentials are checked on open() but no credentials are
required for read and write ops. I had NFS just use the 'root' credential
for the RPC. However, this breaks NFS mounts which do not use the -maproot
(server side) directive. Really the bug is on the server side, but to
maintain general compatibility with NFS servers we have to provide a
non-root credential if root did not issue the I/O. This commit hacks up
the NFS code (rather then hacking up the rest of the kernel) to restore
the hacks that were previously removed from the kernel. Unfortunately it
can lead to a proliferation of ucred structures (FreeBSD-4.x did as well),
but that's the price we have to pay for now.
Report-by: Galen Sampson <galen_sampson@yahoo.com>
Matthew Dillon [Thu, 9 Oct 2003 22:27:27 +0000 (22:27 +0000)]
namecache work stage 3a: Adjust the VFS APIs to include a namecache pointer
where necessary. For the moment we pass NULL for these parameters (the old
'dvp' vnode pointer's cannot be ripped out quite yet).
Matthew Dillon [Thu, 9 Oct 2003 15:39:36 +0000 (15:39 +0000)]
Sync with FreeBSD-5, fix-up the use of certain flags variables.
Matthew Dillon [Thu, 9 Oct 2003 03:31:33 +0000 (03:31 +0000)]
Use the _KERNEL_STRUCTURES define to allow userland to bring in kernel
structures without also bringing in kernel prototypes.
Matthew Dillon [Wed, 8 Oct 2003 20:06:15 +0000 (20:06 +0000)]
Define _KERNEL_STRUCTURES instead of _KERNEL to get just the
kernel structures without the kernel prototype pollution.
Matthew Dillon [Wed, 8 Oct 2003 20:05:39 +0000 (20:05 +0000)]
Add _KERNEL_STRUCTURES support for userland use of this header file.
David P. Reese, Jr. [Wed, 8 Oct 2003 03:21:26 +0000 (03:21 +0000)]
Fix a bug in the last commit where sendfile() would forget to drop a file
pointer if the file wasn't of type DTYPE_VNODE.
David P. Reese, Jr. [Wed, 8 Oct 2003 01:30:32 +0000 (01:30 +0000)]
Introduce the function iovec_copyin() and it's friend iovec_free().
These remove a great deal of duplicate code in the syscall functions.
For those who like numbers, this patch uses iovec_copyin() four times
in uipc_syscalls.c, two times in linux_socket.c and two times in
43bsd_socket.c. Would somebody please comment on the inclusion of
sys/malloc.h in sys/uio.h?
Remove sockargs() which was used once in the svr4 emulation code. It
is replaced with a small piece of code that gets an mbuf and copyin()'s
to it's data region.
Remove the osendfile() syscall which was inapropriately named and placed
in the COMPAT_43 code where it doesn't belong.
Split the socket(), shutdown() and sendfile() syscalls. All of the
syscalls in kern/uipc_syscalls.c are now split.
Prevent a panic due to m_freem()'ing a dangling pointer in recvmsg(),
orecvmsg(), linux_recvmsg().
This patch completely removes COMPAT_43 from kern/uipc_syscalls.c.
Matthew Dillon [Wed, 8 Oct 2003 00:10:56 +0000 (00:10 +0000)]
Disable background bitmap writes. They appear to cause at least two race
conditions: First, on MP systems even an LK_NOWAIT lock may block,
invalidating flags checks done just prior to the lock attempt. Second, on
both MP and UP systems, the original buffer (origbp) may be modified during
the completion of a background write without its lock being held and these
modifications can race against mainline code that is also modifying the same
buffer with the lock held.
Eventually the problem background bitmap writes solved will be solved more
generally by implementing page COWing durign device I/O to avoid stalls on
pages undergoing write I/O.
Matthew Dillon [Mon, 6 Oct 2003 17:19:38 +0000 (17:19 +0000)]
The splash_bmp and splash_pcx builds were missing some symbols, add the
appropriate files to the Makefile.
Jeffrey Hsu [Mon, 6 Oct 2003 06:08:23 +0000 (06:08 +0000)]
Unroll obfuscated loop.
Matthew Dillon [Sun, 5 Oct 2003 23:06:45 +0000 (23:06 +0000)]
The CMOV family of instructions do not work across all cpu families. In
particular they do not work on some of the oldest pentiums or 486's, and
probably do not work on some non-intel cpus either.
Replace the cmovcl in the preload code's inline assembly with a jnc/movl
combination.
Located by the persistence of: Galen Sampson <galen_sampson@yahoo.com>
David Rhodus [Sun, 5 Oct 2003 20:08:41 +0000 (20:08 +0000)]
* Fix a typo that was introduced from the last change.
David Rhodus [Sun, 5 Oct 2003 20:04:08 +0000 (20:04 +0000)]
* Correct several integer underflows/overflows in linprocfs
by making use od the uiomove_frombuf routine.
Reported by: Joost Pol <joost@pine.nl>
David Rhodus [Sun, 5 Oct 2003 16:51:39 +0000 (16:51 +0000)]
* Try to make gencat(1) recognize.
Hiten Pandya [Sun, 5 Oct 2003 16:12:00 +0000 (16:12 +0000)]
Fix a spelling mistake.
Hiten Pandya [Sat, 4 Oct 2003 20:36:55 +0000 (20:36 +0000)]
K&R style function removal. Update functions to ANSI style.
While I am there, add $DragonFly$ IDs to these files, or the
commit just busts up. Also fixup C Style comments on the
files.
Patch has been tested by submitter and me.
Submitted by: Eirik Nygaard <eirikn@bluezone.no>
Reviewed by: Hiten Pandya
David P. Reese, Jr. [Sat, 4 Oct 2003 02:12:51 +0000 (02:12 +0000)]
Modify linux_{send,recv}msg() and linux_{set,get}sockopt() to use the
split syscalls.
Add a sanity check to linux_copyout_sockaddr().
Remove two functions that used stackgap allocations.
David P. Reese, Jr. [Fri, 3 Oct 2003 00:04:04 +0000 (00:04 +0000)]
Modify kern_{send,recv}msg() to take struct uio's, not struct msghdr's.
Fix up all syscalls which use these functions, including the 43bsd
syscalls.
Also, fix some spots where I forgot to pass the message flags in the
emulation code.
Matthew Dillon [Thu, 2 Oct 2003 22:29:15 +0000 (22:29 +0000)]
Addendum: Many thanks for continuing to Galen Sampson for running such an
old platform, that brought all the bugs found in the prior commit to light.
Matthew Dillon [Thu, 2 Oct 2003 22:27:00 +0000 (22:27 +0000)]
Fix a number of interrupt related issues.
* Don't access kernel_map in free(), defer such operations to malloc()
* Fix a slab allocator panic due to mishandling of malloc size slab
limit checks on machines with small amounts of memory (the slab allocator
reduces the size of the zone on low-memory machines but did not handle the
reduced size properly).
* Add thread->td_nest_count to prevent splz recursions from underflowing
the kernel stack. This can occur because we drop the critical section
when calling sched_ithd() in order to allow it to preempt.
* Properly adjust intr_nesting_level around FAST interrupts
* Adjust the debugging printf() in lockmgr to only complain about blockable
lock requests from interrupts.
Hiten Pandya [Thu, 2 Oct 2003 21:00:20 +0000 (21:00 +0000)]
Rename:
- vm_map_pageable() -> vm_map_wire()
- vm_map_user_pageable() -> vm_map_unwire()
David Rhodus [Thu, 2 Oct 2003 19:45:40 +0000 (19:45 +0000)]
* Turn on debugging options by default
Matthew Dillon [Thu, 2 Oct 2003 19:26:35 +0000 (19:26 +0000)]
correct a comment.
Matthew Dillon [Thu, 2 Oct 2003 19:24:10 +0000 (19:24 +0000)]
Describe the hw.physmem loader variable.
David Rhodus [Thu, 2 Oct 2003 19:21:06 +0000 (19:21 +0000)]
Introduce a uiomove_frombuf helper routine that handles computing and
validating the offset within a given memory buffer before handing the
real work off to uiomove(9).
Use uiomove_frombuf in procfs to correct several issues with
integer arithmetic that could result in underflows/overflows. As a
side-effect, the code is significantly simplified.
Add additional sanity checks when computing a memory allocation size
in pfs_read.
Reported by: Joost Pol <joost@pine.nl> (integer underflows/overflows)
Originated from: FreeBSD
Hiten Pandya [Thu, 2 Oct 2003 17:42:27 +0000 (17:42 +0000)]
K&R style function removal. Update functions to ANSI style.
Patch has been tested.
Submitted by: Eirik Nygaard <eirikn@bluezone.no>
Reviewed by: Hiten Pandya
David Rhodus [Thu, 2 Oct 2003 16:57:14 +0000 (16:57 +0000)]
Correct a case in readv(2) where the file descriptor reference count
should have been decremented but was not.
Reported by: Joost Pol <joost@pine.nl>
Obtained from: FreeBSD
Matthew Dillon [Wed, 1 Oct 2003 22:53:44 +0000 (22:53 +0000)]
Fix a bug in lwkt_trytoken(), it failed to exit its critical section on
failure. It is supposed to return with a critical section held on success.
Matthew Dillon [Wed, 1 Oct 2003 22:51:24 +0000 (22:51 +0000)]
Fix a negative cache entry reaping bug, cache_zap() expects ncp's ref count
to be bumped on call.
Matthew Dillon [Wed, 1 Oct 2003 18:21:44 +0000 (18:21 +0000)]
Move the pst device from dev/misc to dev/raid.
Matthew Dillon [Wed, 1 Oct 2003 18:20:33 +0000 (18:20 +0000)]
Add pst to the raid Makefile
Matthew Dillon [Wed, 1 Oct 2003 18:20:07 +0000 (18:20 +0000)]
Move pst from dev/misc to dev/raid, add a Makefile for 'pst'.
David Rhodus [Wed, 1 Oct 2003 14:32:47 +0000 (14:32 +0000)]
* Add the Promise Supertrack to the build
David Rhodus [Wed, 1 Oct 2003 14:17:56 +0000 (14:17 +0000)]
* Add #include <sys/buf2.h>
so as to fix the build
Matthew Dillon [Mon, 29 Sep 2003 18:52:16 +0000 (18:52 +0000)]
Cleanup: get rid of the CNP_NOFOLLOW pseudo-flag. #define 0'd flags are a
really bad idea.
Hiten Pandya [Mon, 29 Sep 2003 15:56:42 +0000 (15:56 +0000)]
Fix L2 internal cache reporting when it is an AMD Duron rev. A0 chip.
Obtained from: FreeBSD GNATS (PR #21672)
Hiten Pandya [Mon, 29 Sep 2003 15:44:47 +0000 (15:44 +0000)]
Sort Copyright order.
David P. Reese, Jr. [Mon, 29 Sep 2003 05:34:08 +0000 (05:34 +0000)]
Split getsockopt() and setsockopt().
Matthew Dillon [Sun, 28 Sep 2003 17:24:30 +0000 (17:24 +0000)]
Hash the link-check data to improve performance on filesystems containing a
lot of hard links.
Submitted-by: Hiten Pandya <hmp@backplane.com>
Hiten Pandya [Sun, 28 Sep 2003 14:39:22 +0000 (14:39 +0000)]
K&R style function removal. Update functions to ANSI style.
Patch has been tested.
Submitted by: Eirik Nygaard
Reviewed by: Hiten Pandya
Matthew Dillon [Sun, 28 Sep 2003 03:44:09 +0000 (03:44 +0000)]
namecache work stage 2: move struct namecache to its own header file and
have vnode.h include it for now. Re-engineer the namecache topology to make
it possible to track different parent directories and to make it possible
to namei/lookup paths using the namecache structure as the primary placeholder
rather then a directory vnode. Add a few minor hacks to stabilize the system
that will be removed (no longer be necessary) in stage 3. Get rid of the
leafonly sysctl and make its effect the default, but in order to avoid
doing too much in this stage it is still possible to disassociate a vnode
from its namecache entry, which a lot of filesystems (e.g. NFS) depend on
as a poor-man's way of invalidating entries. The namecache topology itself,
however, will be left intact even if a vnode is disassociated in the middle
of a path.