Bruce Evans [Wed, 22 Feb 1995 22:06:20 +0000 (22:06 +0000)]
Remove the #error that temporarily stopped this from supporting slices and
labels.
Please test the slice/label features:
cd /dev; sh MAKEDEV svn0
cd /var/tmp; dd if=/dev/zero of=vnfile bs=8192 count=1024
vnconfig -c /dev/rvn0 /var/tmp/vnfile
fdisk /dev/rvn0 # invent a geometry, create one BSD partition
disklabel -r -w vn0 floppy # a convenient (bogus) label
disklabel -e vn0 # edit label to match device
newfs /dev/rvn0a
mount /dev/vn0a /mnt
...
The steps after the fdisk could name the device vn0s1 instead of vn0.
Bruce Evans [Wed, 22 Feb 1995 21:51:53 +0000 (21:51 +0000)]
Fix initialization of the copy of the label passed to setdisklabel().
Fix the sign of the adjustment after writing a label.
Writing of labels should work now.
Merge adjust_label() into fixlabel(). Detect more errors and don't
write if there is an error. Adjust sectors/unit and total sectors
to the numbers on the slice.
Add a function dsname() to print slice device names consistently, and
use it.
Make good on my promise to finally clean up the config clobbering.
If you invoke config with the `-n' flag or have NO_CONFIG_CLOBBER in
your environment, config will behave the same way it used to. This is
now _documented_ as well. Rip out all the CONFIG_DONT_CLOBBER cruft;
some of it wasn't even correct anyway.
Stefan Eßer [Wed, 22 Feb 1995 14:17:15 +0000 (14:17 +0000)]
New PCI attach code:
PCI BIOS mappings are retained, except if option PCI_REMAP
is specified in the kernel config file.
There is now a list of attach addresses, and the first
address that seems to make some device registers appear
is chosen.
Søren Schmidt [Wed, 22 Feb 1995 13:48:07 +0000 (13:48 +0000)]
Next syscons update (given up on numbering :)
Removed screensavers from syscons, they are now LKM's. This makes it
possible to do some really "interesting" screensavers...
Fixed bug that sometimes caused garbage to appear when leaving
"scroll-lock" history.
Reformattet indentation, it got too deep for a normal 80 pos screen.
Split up in syscons.c & syscons.h for use with the saver-lkm's.
Temporarily removed -s option from vidcontrol, savers should now
be loaded with modload.
David Greenman [Wed, 22 Feb 1995 10:34:34 +0000 (10:34 +0000)]
Changed return value from vnode_pager_addr to be in DEV_BSIZE units so
that 9 bits aren't lost in the conversion. Changed all callers to expect
this. This allows paging on large (>2GB) filesystems.
David Greenman [Wed, 22 Feb 1995 10:27:24 +0000 (10:27 +0000)]
vm_page.c:
Use request==VM_ALLOC_NORMAL rather than object!=kmem_object in deciding
if the caller is "important" in vm_page_alloc(). Also established a new
low threshold for non-interrupt allocations via cnt.v_interrupt_free_min.
vm_pageout.c:
Various algorithmic cleanup. Some calculations simplified. Initialize
cnt.v_interrupt_free_min to 2 pages.
David Greenman [Wed, 22 Feb 1995 10:00:16 +0000 (10:00 +0000)]
Removed bogus copy object collapse check (the idea is right, but the
spcific check was bogus).
Removed old copy of vm_object_page_clean and took out the #if 1 around
the remaining one.
David Greenman [Wed, 22 Feb 1995 09:30:13 +0000 (09:30 +0000)]
Added some code to make sure that buffers associated with directories and
metadata aren't thrashed by regular file I/O.
Added mechanism to limit the amount of outstanding I/O on a given vnode.
Pagedaemon wakeup policy changed to skew priority a little in favor of
file caching.
Slight code reorganization to improve clarity.
Added a few more comments.
Atsushi Murai [Wed, 22 Feb 1995 06:44:03 +0000 (06:44 +0000)]
The 'set ifilter'/'set ofilter' commands accept a syntax containing
IP addresses and/or protocol+port, but in the case where both are
supplied, it happily accepts the command but ignores the proto+port
It also attempts to handle the case where the second IP address
is omitted, but this doesn't work.
Justin T. Gibbs [Wed, 22 Feb 1995 01:43:25 +0000 (01:43 +0000)]
Add tagged queueing support. Right now, we only allow two tagged
commands per target. I could have followed the route of the ncr driver
and gone to great lengths to get the SCSI subsystem to support more, but
I think I'll use the time saved to help Julian and Peter make tagged
queuing a better handled generic feature. This also includes some comment
and enum clean up and a possible fix for the hanging PCI controllers.
Bruce Evans [Tue, 21 Feb 1995 08:38:24 +0000 (08:38 +0000)]
Discard junk from partition tables when reading the tables for applications
the same as when initializing the in-core copies. Adjust checksums in
labels after adjusting labels. This finishes fudging the on-disk label to
make it coherent with the in-core label.
Handle EIO during initialization better.
Initialize the compatibility slice to the whole disk If there are no real
slices.
Don't warn about adjusting offsets in the label to make the 'c' partition
start at 0. The 'c' offset is now always absolute on-disk and 0 in-core
so an adjustment is usually required.
Don't confuse LABEL_PART with RAW_PART so much.
Check for partitions being within slices differently.
David Greenman [Tue, 21 Feb 1995 01:22:48 +0000 (01:22 +0000)]
Deprecated remaining use of vm_deallocate. Deprecated vm_allocate_with_
pager(). Almost completely rewrote vm_mmap(); when John gets done with
the bottom half, it will be a complete rewrite. Deprecated most use of
vm_object_setpager(). Removed side effect of setting object persist
in vm_object_enter and moved this into the pager(s). A few other
cosmetic changes.
David Greenman [Mon, 20 Feb 1995 23:58:10 +0000 (23:58 +0000)]
Removed vm_allocate(), vm_deallocate(), and vm_protect() functions. The
only function remaining in this file is vm_allocate_with_pager(), and this
will be going RSN. The file will be removed when this happens.
Bruce Evans [Mon, 20 Feb 1995 20:35:24 +0000 (20:35 +0000)]
Fix restoring cpl in the swi_ast_phantom case. The system sometimes
returned to user mode without enabling ASTs. The problem fixed itself
at the next syscall or non-FPU trap, if any. It hung the system for
a test process that masked SIGFPE's and divided by zero. The faulting
division was returned to endlessly and this gave plently of opportunities
for the swi_ast_phantom case to be reached; after it was reached the
system hung because the ASTs for preemption and SIGINT handling were
disabled.
Guido van Rooij [Mon, 20 Feb 1995 19:42:42 +0000 (19:42 +0000)]
Implement maxprocperuid and maxfilesperproc. They are tunable
via sysctl(8). The initial value of maxprocperuid is maxproc-1,
that of maxfilesperproc is maxfiles (untill maxfile will disappear)
Now it is at least possible to prohibit one user opening maxfiles
Nate Williams [Mon, 20 Feb 1995 18:47:18 +0000 (18:47 +0000)]
Fixed non-conflict errors that occur when changes made to the local files are
the same as the changes made in the repository. This is often seen by
people with remote CVS trees that have applied their local patches to the
master site. a 'cvs update' will show bogus conflicts.
In diffutils 2.6 and 2.7, diff3 -A complains about identical overlapping
changes. They're different from the ancestor but not from each other...
Why bother? The patch below fixes this nonsense and preserves [B]ackwards
compatiblity with the -B flag (also --show-bogus-conflicts).
David Greenman [Mon, 20 Feb 1995 17:26:21 +0000 (17:26 +0000)]
VM for the kernel stack and page tables doesn't need to be explicitly
deallocated as it isn't inherited across the fork.
Use vm_map_find not vm_allocate.
David Greenman [Mon, 20 Feb 1995 14:21:58 +0000 (14:21 +0000)]
Panic if object is deallocated too many times.
Slight change to reverse collapsing so that vm_object_deallocate doesn't
have to be called recursively.
Removed half of a previous fix - the renamed page during a collapse doesn't
need to be marked dirty because the pager backing store pointers are copied
- thus preserving the page's data. This assumes that pages without backing
store are always dirty (except perhaps for when they are first zeroed, but
this doesn't matter).
Switch order of two lines of code so that the correct pager is removed
from the hash list. The previous code bogusly passed a NULL pointer to
vm_object_remove(). The call to vm_object_remove() should be unnecessary
if named anonymous objects were being dealt with correctly. They are
currently marked as OBJ_INTERNAL, which really screws up things (such as
this).
The new and improved mkCTM. Learning from this experience it has been
improved on a couple of accounts. Amongst these are "damage control"
more than 100 files removed and it will bail out...
Bruce Evans [Sat, 18 Feb 1995 22:10:44 +0000 (22:10 +0000)]
Keep absolute offsets in on-disk labels for backwards compatibility. This
requires complications to adjust the offsets to relative when a block
containing the label is read and back to absolute when such a block is
written. The adjustment is not made on the whole disk slice.
Don't allow setting the offset of partition C to nonzero in in-core labels.
This will cause some (nonstandard) disktab entries to fail. They will
need to be changed to have relative offsets (and no partitions outside
of the slice).
Don't write protect the (nonexistent) label on the whole disk slice.
Writing labels and bootstraps should work right now (except if there is
no DOSpartition table).
Bill Paul [Sat, 18 Feb 1995 18:05:35 +0000 (18:05 +0000)]
Do away with 'options SWAP_GENERIC' once and for all: I get ill
just thinking about it.
Two changes need to be made to allow 'config kernel swap generic' to
work properly without requiring any compile-time flags:
/usr/src/usr.sbin/config/mkswapconf.c: we need to define a dummy stub
for the setconf() function to replace the one in swapgeneric.c that
isn't available in non-generic configurations.
/usr/src/sys/i386/i386/autoconf.c: the -a boot flag causes setroot()
to be skipped and lets setconf() prompt the user for a root device.
If you skip setroot() in a non-generic kernel, you could get severely
hosed. To avoid this, we silently ignore the -a flag if rootdev != NODEV.
(rootdev is always initialized to NODEV in swapgeneric.c, so if
we find that rootdev is something other than NODEV, we know we're
not using a generic configuration.)
Add Nate back as promised before, but I will also note that he's on
probation.. Another vanishing act and I won't hesitate to nuke this back
out again. He hasn't been heard from very much since he was over here to
visit! :-)
David Greenman [Sat, 18 Feb 1995 06:48:33 +0000 (06:48 +0000)]
1) Added protection against collapsing OBJ_DEAD objects.
2) bump reference counts by 2 instead of 1 so that an object deallocate
doesn't try to recursively collapse the object.
3) mark pages renamed during the collapse as dirty so that their contents
are preserved.