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.
Stefan Eßer [Fri, 17 Feb 1995 19:45:21 +0000 (19:45 +0000)]
Bruce pointed out, that a misleading warning would be issued
in an (unlikely) border case (maxgroups==1 and the user is on
an /etc/group line for the same group and that group only ...).
Stefan Eßer [Fri, 17 Feb 1995 16:45:08 +0000 (16:45 +0000)]
Improve diagnostics:
Test for correct execution of cache test script by NCR,
and give meaningful error description if it fails.
(A cache problem was reported before.)
Don't wait forever for cache test to complete (to protect
against faulty hardware).
Bruce Evans [Fri, 17 Feb 1995 12:32:34 +0000 (12:32 +0000)]
Fix some bogus and missing chowns:
444 -> root.wheel
root -> root.wheel
uucp -> uucp.wheel (perhaps this should be .dialer, but .wheel is safer)
missing -> root.wheel
chown to root is usually bogus because mknod had to be run by root to
create the inode. Setting the group explictly is currently necessary
because MAKEDEV does nothing to ensure that its working directory has
a suitable group.
Driver authors! Please fix any bogons in MAKEDEV that involve your
drivers. The sound devices are still world writable...
Bruce Evans [Thu, 16 Feb 1995 16:03:29 +0000 (16:03 +0000)]
Adjust for rearranged slice numbers. Only create partitions on slice 0
for now (there are too many minors to create by default). The special
sliced disk case ssd*|svn*|swd*) can almost replace the standard disk
case sd*|vn*|wd*) now (it just creates a few more devices), but there
will have to be special cases to allow creating slices 6-31 and partitions
on slices 2-31.
Bruce Evans [Thu, 16 Feb 1995 15:19:19 +0000 (15:19 +0000)]
Add compatibility cruft.
Slice 0 is now for the first BSD slice. The first BSD slice is
the first DOSpartition with id 0xa5 or the whole disk if their
are no DOSpartitions (except the latter is not yet implemented).
Existing partitions on it work the same as in 2.0 except the
'd' partition is no longer special and partitions are relative
to the skice.
Slice 1 is now for the whole disk and gets a read-only label
describing the disk. Previously, slice 0 was for the whole disk
and there was no label on it.
Slices 2-31 are for DOSpartitions. Slice 0 is an alias for one
of these if there is a BSD slice. Previously, slices 1-31 were
for DOSpartitions.
diskslice_machdep.c:
Expand whole disk slice to include all DOSpartitions. More work
is required for >1024 cylinders and to rewrite the label iff the
driver is unsure about the geometry.
subr_diskslice.c:
New function dsisopen() to help handle media changes.
Bruce Evans [Thu, 16 Feb 1995 14:47:38 +0000 (14:47 +0000)]
Adjust slice names in diskerr() for the rearranged slice numbers. The
mapping from numbers to names is messy for backwards compatibility.
E.g., for driver "sd", unit "0":
slice 0: omit the slice number for compatibility; names are sd0[a-h].
slice 1: omit the partition letter 'c' because the whole disk device
shouldn't have anything to do with partitions; sd0 is the
only name.
slices 2-31: subtract 1 from slice number to compensate for the
compatibility slice 0; names are sd0s[1-30][a-h].
Bruce Evans [Thu, 16 Feb 1995 13:09:39 +0000 (13:09 +0000)]
Temporarily stop this compiling if the option TEST_LABELLING is defined
so that new slice support code can be installed without risk of
corrupting vn devices (if any).
Bruce Evans [Thu, 16 Feb 1995 12:17:30 +0000 (12:17 +0000)]
config.y:
Support slice numbers in device names. The syntax is `<driver name>
[<unit number>] ['s' <slice number>] [<partition letter>]'. Only
`['s' <slice number>]' is new here. The slice number defaults to 0
so that there is no change in the output from config if this new
feature is not used.
Replace some magic disk numbers by `dk' slice and label macros.
mkswapconf.c:
Improve the output formatting:
Generate <> style includes.
Print minor numbers in hex so that slice numbers are easy to see and edit.
Print the rootdev and dumpdev names in comments like the swapdev names.
Joerg Wunsch [Thu, 16 Feb 1995 10:51:53 +0000 (10:51 +0000)]
gettytab:
Add the `lc' option to default. Having getty understand the issues of
CAPS-only terminals is a nop these days, but `lc' avoids hassles for
people with CAPS-only user names.
Suggested by: Don Yuniskis
weekly:
Modify the call to makewhatis, now that our makewhatis can take the
entire ${MANPATH} as a single argument.
Bill Paul [Thu, 16 Feb 1995 01:21:44 +0000 (01:21 +0000)]
ypbind jumbo patch :)
The existing ypbind exhibits some truly anti-social behavior. After
initially establishing a binding with an NIS server, the following events
take place:
- ypbind waits for 60 seconds before trying to broadcast a ping again
- after the 60 seconds expires, ypbind sends out broadcasts every 5 seconds
come hell or high water.
These broadcasts travel far and wide, even to NIS servers in other domains
which dutifully log the packets even though they don't respond to them.
This leads to lots of unnecessary traffic and bloated log files.
This behavior has been fixed/changed. Here's what happens now:
- We still broadcast every 5 seconds at startup, just like before.
- Once bound, we send out packets once every 60 seconds to the server
we're bound to AND NO ONE ELSE.
- If we fail to receive a reply from our server within FAIL_THRESHOLD
seconds, we assume our server has croaked and go back to broadcasting
everywhere every 5 seconds again until somebody answers. FAIL_THRESHOLD
is currently set to 20 seconds.
Other fixes/improvements:
- ypbind now logs 'server not responding' and 'server OK' messages where
appropriate.
Thanks to Thomas Graichen <graichen@omega.physik.fu-berlin.de> for
reporting the problem and guilt-tripping me into fixing it. :)
Bruce Evans [Wed, 15 Feb 1995 18:41:41 +0000 (18:41 +0000)]
Avoid duplicating ttselect() so that we don't have to change cyselect()
when ttselect() is improved. This requires using an array of tty structs
and not using ttymalloc().
Fix an off by 1 error. Some caclulations seem to be off by a factor
of NCY. NCY defaults to 16, which gives 256 tty structs occupying
0xd000 bytes. The minor number encoding only allows 16 ttys.