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.)
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! :-)
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.
Submitted by: John and me.
in an (unlikely) border case (maxgroups==1 and the user is on
an /etc/group line for the same group and that group only ...).
Now this case is dealt with as before ...
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).
Submitted by: wolf
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...
briefly over it, and see some serious architectural issues in this stuff.
On the other hand, I doubt that we will have any solution to these issues
before 2.1, so we might as well leave this in.
Most of the stuff is bracketed by #ifdef's so it shouldn't matter too much
in the normal case.
Reviewed by: phk
Submitted by: HOSOKAWA, Tatsumi <hosokawa@mt.cs.keio.ac.jp>
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.
Fix bogus default cases.
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.
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].
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.