761 Commits

Author SHA1 Message Date
John Dyson
5fe17eeb8a General fixes to the vfs clustring code:
1) Make cluster buffer list be a non-malloced chain.  This eliminates
yet another 'evil' M_WAITOK and generally cleans up the code.
2) Fix write clustering for ext2fs.  It was just broken.  Also, ffs
clustering had an efficiency problem that more bawrites were happening
than should have been.
3) Make changes to buf.h to support the above, plus remove b_pfcent
at the request of David Greenman.
Reviewed by: davidg (partially)
1995-11-19 19:54:31 +00:00
Bruce Evans
0808c591da Fixed settimeofday():
- don't allow invalid timevals.
- normalize timevals as they are built - don't call timevaladd() with
  a possibly invalid timeval and normalize the result.

Fixed a warning.
1995-11-19 00:59:22 +00:00
John Dyson
0ada0d6748 Added a missing splx(s). 1995-11-18 23:33:48 +00:00
Bruce Evans
75a85811c1 Fixed the errno returned by rename("dir1", "dir2/."). It was EISDIR
(duh); translate it to EINVAL which is the errno for other renames
to ".".
1995-11-18 11:35:05 +00:00
Bruce Evans
3b9a76f03c Improved formatting.
Added a comment about possibly better handling of INPCK.

Added a prototype.
1995-11-18 11:07:00 +00:00
Bruce Evans
7bcb7905fd Cleaned up SA_NODEFER changes.
Added prototypes.
1995-11-18 10:01:38 +00:00
Poul-Henning Kamp
5204129576 All net.* sysctl converted now. 1995-11-16 19:00:27 +00:00
Bruce Evans
986f4ce75e Fixed support for DIAGNOSTIC option. SYSCTL_INT() depends on kernel.h. 1995-11-16 09:45:23 +00:00
Poul-Henning Kamp
43f242265a Do what is generally belived to be the right thing, though it may not be :-) 1995-11-14 20:43:29 +00:00
Poul-Henning Kamp
d457bade76 Final part of this bunch of sysctl commits: cleanup. 1995-11-14 09:42:22 +00:00
Poul-Henning Kamp
af8364b0ad Get rid of the last debug sysctl variables of the old style. 1995-11-14 09:40:06 +00:00
Poul-Henning Kamp
9565c0e60d Get rid of hostnamelen variable. 1995-11-14 09:37:22 +00:00
Poul-Henning Kamp
a9ad941c7a Move all the VM sysctl stuff home where it belongs. 1995-11-14 09:29:34 +00:00
Poul-Henning Kamp
16cd04a3b8 A couple of nitpicks. 1995-11-14 09:26:17 +00:00
Poul-Henning Kamp
f7152c81a0 Convert dumpdev & securelevel. 1995-11-14 09:22:15 +00:00
Poul-Henning Kamp
395e673587 Change some of the debug sysctl vars. The semantics of these will change. 1995-11-14 09:19:16 +00:00
Poul-Henning Kamp
549a075acc KERN_MAXFILESPERPROC, KERN_MAXFILES went to another file. 1995-11-14 09:17:32 +00:00
Poul-Henning Kamp
972f9b209d Hmm, I seem to have got all my patches screwed up anyway. Too bad.
this is where the proctable stuff went.
1995-11-14 09:16:27 +00:00
Poul-Henning Kamp
27aef04699 Get rid of domainnamelen. 1995-11-14 09:10:54 +00:00
Poul-Henning Kamp
a52752a457 Move KERN_NTP to a more suitable file. 1995-11-14 09:07:14 +00:00
Poul-Henning Kamp
45a4ad1146 Move the process-table stuff to a more suitable file.
Remove filetable stuff from kern_sysctl.c
1995-11-14 09:05:40 +00:00
Poul-Henning Kamp
18e6fe0250 Add new-style sysctl for KERN_FILE here. 1995-11-14 08:58:35 +00:00
Poul-Henning Kamp
deae269ab1 Try to make my new scheme work more along the lines of the manual.
There are still some gray areas here and there.
1995-11-13 13:54:09 +00:00
David Greenman
c2f9f36bae Use kmem_alloc_pageable/kmem_free to allocate memory instead of individual
VM map functions.
1995-11-13 10:45:22 +00:00
Bruce Evans
c8cbd8682f Fixed a cast in olseek().
Fixed confusing order of declarations of getvnode()'s args.
1995-11-13 08:22:21 +00:00
Poul-Henning Kamp
ae0eb976c5 The entire sysctl callback to read/write version. I havn't tested this as
much as I'd like to, but the malloc stunt I tried for an interim for
sure does worse.
Now we can read and write from any kind of address-space, not only
user and kernel, using callbacks.
This may be over-generalization for now, but it's actually simpler.
1995-11-12 19:52:09 +00:00
Bruce Evans
f35a53bf11 Restored the (buggy) historical behaviour of getdomainname().
Negative name lengths for getdomainname() and setdomainname() were
converted to large positive ones by misdeclaring the args struct.
1995-11-12 07:04:30 +00:00
Bruce Evans
d2d3e8751c Included <sys/sysproto.h> to get central declarations for syscall args
structs and prototypes for syscalls.

Ifdefed duplicated decentralized declarations of args structs.  It's
convenient to have this visible but they are hard to maintain.  Some
are already different from the central declarations.  4.4lite2 puts
them in comments in the function headers but I wanted to avoid the
large changes for that.
1995-11-12 06:43:28 +00:00
Bruce Evans
c484c256a5 Updated machine-generated files. 1995-11-12 04:29:37 +00:00
Bruce Evans
93915a2ac4 Fixed the args list for mount(). We're not ready for the BSD4.4lite2/
NetBSD interface.

Increased the bogusness of the args list for mmap().  The args lists for
most of the memory mapping functions are bogus.  The args lists in
syscalls.master are a little better than the ones in the args structs
currently being used, but the improvement for mmap() changed the object
code and I don't want to worry about that now.

Increased the bogusness of the args list for fcntl.  BSD4.4lite2/NetBSD
uses `void *' instead of int for the third arg.  This has the advantage
of working when `void *'s are longer than ints, but requires extra bogus
casts that I hope to avoid.

Fixed the args list for uname.  `struct outsname' seems to be a typo,
not an old interface.

Added comments about bogus args lists for open, mount, msync, munmap,
mprotect, madvise, mincore, fcntl, semsys, msgsys and shmsys.
1995-11-12 04:24:53 +00:00
Bruce Evans
7147b19de5 Fixed the type of readv(). An args struct member name conflicted with the
machine-generated one in <sys/sysproto.h>.
1995-11-11 06:57:34 +00:00
Bruce Evans
82970b81a9 Fixed type of setsid(). It used used the bogus `getsid_args'. 1995-11-11 06:53:08 +00:00
Bruce Evans
b2f9e8b1ee Removed unreachable code.
Changed `#if defined()' back to `#ifdef' to finish removing COMPAT_IBCS2.
1995-11-11 05:49:22 +00:00
Bruce Evans
cf7e5eab8b Fixed types of rtprio(), osetrlimit() and setrlimit(). The args struct
tag and/or member names conflicted with the machine generated ones in
<sys/sysproto.h>.
1995-11-11 01:48:17 +00:00
Bruce Evans
2635f86c68 Fixed types of ogethostid() and osethostid(). The args struct names
conflicted with the machine generated ones in <sys/sysproto.h>.

Fixed type of oquota().  It didn't even use an args struct.
1995-11-11 01:04:42 +00:00
Bruce Evans
ceba6236e0 Fixed type of vfs_free_netcred().
Removed redundant declaration of insmntque().
1995-11-11 00:27:00 +00:00
Bruce Evans
3c8e79dd2b Fixed type of sysctl_order_cmp().
KNFized sysctl_order_cmp().
Staticized definition of kern_sysctl() to match its declaration.
1995-11-11 00:09:21 +00:00
Poul-Henning Kamp
69feb38841 Fix a minor buglet. 1995-11-10 16:22:41 +00:00
Poul-Henning Kamp
6ff1bbebdf convert more sysctl variables. 1995-11-10 09:58:53 +00:00
Poul-Henning Kamp
b8da239623 Make the old compat functions use the sysctl front door, rather than
crashing through the walls.
This should save Peters blood pressure and netscapes uname call.
1995-11-09 20:22:12 +00:00
Bruce Evans
5739bf963a Introduced lkm_nullcmd(), which will be used instead of nosys() in
some places to fix type mismatches.

Added prototypes and bogus casts.
1995-11-09 09:43:32 +00:00
Bruce Evans
f57e65478d Introduced a type `vop_t' for vnode operation functions and used
it 1138 times (:-() in casts and a few more times in declarations.
This change is null for the i386.

The type has to be `typedef int vop_t(void *)' and not `typedef
int vop_t()' because `gcc -Wstrict-prototypes' warns about the
latter.  Since vnode op functions are called with args of different
(struct pointer) types, neither of these function types is any use
for type checking of the arg, so it would be preferable not to use
the complete function type, especially since using the complete
type requires adding 1138 casts to avoid compiler warnings and
another 40+ casts to reverse the function pointer conversions before
calling the functions.
1995-11-09 08:17:23 +00:00
Poul-Henning Kamp
787d58f201 Fix some of the sysctl broke, and add a lot more to it. 1995-11-08 08:48:36 +00:00
John Dyson
5e527f652f This is a modification missed by me in the msync fixes a few days ago. 1995-11-07 05:09:43 +00:00
Poul-Henning Kamp
2e21099372 On working the new sysctl vars a bit I realized that I needed more generality.
This is here now.  We can now access (the new) sysctl variables from the
kernel too and using functions to handle access is more sane now.
I will now attack sysctl variables in the rest of the kernel and get them
all converted to newspeak.
1995-11-06 16:18:52 +00:00
David Greenman
c52007c2cc All:
Changed vnodep -> vp for consistency with the rest of the kernel, and
changed iparams -> imgp for brevity.

kern_exec.c:
   Explicitly initialized some additional parts of the image_params struct
to avoid bzeroing it. Rewrote the set-id code to reduce the number of
logical tests. The rewrite exposed a mostly benign bug in the algorithm:
traced set-id images would get ktracing disabled even if the set-id didn't
happen for other reasons.
1995-11-06 12:52:37 +00:00
Bruce Evans
8b25681eb5 Replaced bogus macros for dummy devswitch entries by functions.
These functions went away:

	enosys (hasn't been used for some time)
	enxio
	enodev
	enoioctl (was used only once, actually for a vop)

if_tun.c:
Continued cleaning up...

conf.h:
Probably fixed the type of d_reset_t.  It is hard to tell the correct
type because there are no non-dummy device reset functions.

Removed last vestige of ambiguous sleep message strings.
1995-11-06 00:36:19 +00:00
John Dyson
4dc4e0d228 Make MNT_ASYNC more effective for UFS. It should not be too much more
dangerous than the original MNT_ASYNC.  There might be some minor
security considerations due to data writes not being posted as promptly
as before.  Meta-data operations are still not quite as fast as Linux,
but streaming I/O is still higher.
1995-11-05 21:01:15 +00:00
John Dyson
aef922f514 Greatly simplify the msync code. Eliminate complications in vm_pageout
for msyncing.  Remove a bug that manifests itself primarily on NFS
(the dirty range on the buffers is not set on msync.)
1995-11-05 20:46:03 +00:00
Bruce Evans
286f8561e2 Replaced bogus macros for entry points to unconfigured line disciplines
by functions.

tty_conf.c:
Cleaned up formatting of tables.

Removed another ARGSUSED for consistency.

conf.h:
Introduced typedefs for line discipline functions.

Backed out most of previous revision (it is done elsewhere).
1995-11-05 20:25:59 +00:00