alc [Sun, 15 Aug 1999 05:36:43 +0000 (05:36 +0000)]
contigmalloc1 (currently) depends on PQ_FREE and PQ_CACHE not being 0
to tell a valid "struct vm_page" from an invalid one in the vm_page_array.
This isn't a very robust method.
grog [Sun, 15 Aug 1999 02:29:14 +0000 (02:29 +0000)]
Add 'initialized' state for subdisks. After initializing, the subdisk
goes into initialized state, not 'up'. This makes it easier to ensure
consistency in multi-plex volumes.
update_plex_state: redo transitions from empty and initialized
subdisks to up or reviving, depending on the number of plexes.
Reported-by: Bernd Walter <ticso@cicely.de>
Remy Nonnenmacher <remy@synx.com>
obrien [Sat, 14 Aug 1999 23:04:23 +0000 (23:04 +0000)]
Sight addendum to previous comment. The `undefined' token initialization
bug was actually fixed in Bison 1.26. My previous comment was in context
to our CVS repository.
obrien [Sat, 14 Aug 1999 22:32:36 +0000 (22:32 +0000)]
Due to brain damage on the FSF people, we can not longer pass "config.h"
type settings on the compiler command line. FSF put their version of our
"__P()" macro in config.h, thus ``config.h'' required now.
obrien [Sat, 14 Aug 1999 22:15:21 +0000 (22:15 +0000)]
Add "--broken-undeftoken-init" option. This makes Bison 1.28 bug compatable
with version 1.25.
Bison 1.28 fixed a bug in the initialization of the `undefined' symbol
table entry. Unfortunately something about the way we are compiling
egcs-1.1.2's cc1plus breaks with this bugfix.
"--broken-undeftoken-init" is needed when compiling cc1plus. Otherwise
/usr/libexec/cc1plus cannot compile libgcc.
marcel [Sat, 14 Aug 1999 18:19:00 +0000 (18:19 +0000)]
Extend the number of syscalls to include those present in Linux 2.2.10. These
are syscalls 183 to 190. Also implement syscall 183: linux_getcwd. This is
needed to support a RH 6.0 environment.
marcel [Sat, 14 Aug 1999 17:28:46 +0000 (17:28 +0000)]
Implementation of linux_rt_sigaction and linux_rt_sigprocmask syscalls. Both
functions use the new sigset_t and sigaction_t which allows support for more
than 32 signals. Only the lower 32 signals are supported for now.
linux_rt_sigaction, linux_sigaction and linux_signal use linux_do_sigaction
to do the actual work. That way unnecessary redundancy is avoided. The same
has been done for linux_rt_sigprocmask and linux_sigprocmask. They call
linux_do_sigprocmask to do the actual work.
jdp [Sat, 14 Aug 1999 17:06:11 +0000 (17:06 +0000)]
Append the flags from the "boot" command to those which came from
the SRM environment. This makes the traditional "boot [/kernel] -s"
and similar things work on the Alpha. Since the flags are appended,
they augment and/or override those from the SRM environment.
marcel [Sat, 14 Aug 1999 13:26:44 +0000 (13:26 +0000)]
Fix LINUX_TIOC{S|G}SERIAL implementation. Both do not copy data in or out
of kernel space. Remove the ioctl supporting functions, and move the actual
code to the switch-statement. Now everybody can clearly see that the
implementation is really poor.
Also fix a typo in LINUX_TIOCGETD. The underlying function was given command
TIOCSETD instead op TIOCGETD...
pho [Sat, 14 Aug 1999 12:19:40 +0000 (12:19 +0000)]
Reviewed by: phk
When fts_open is used with option FTS_NOCHDIR the full
path entry of type FTS_DP is returned with a trailing
'/' if the final directory is empty.
This fix coresponds to netbsd's __fts13.c v. 1.16
marcel [Sat, 14 Aug 1999 10:30:38 +0000 (10:30 +0000)]
Fix the LINUX_TCSET{A|AW|AF} and LINUX_TCSET{S|SW|SF} ioctls. These all suffer
from the same bug in that the argument is not first copied from user space
before it is used. This is part 2 (of 2) of the termios fixes.
marcel [Sat, 14 Aug 1999 10:05:50 +0000 (10:05 +0000)]
Fix a couple of termio/termios conversion bugs/typos/dupos/brainos and other
changes. This is part 1 of the complete termios ioctl fixes.
o change type of c_{i|o|c|l}flag in struct termios from unsigned long to
unsigned int. The type now matches the Linux definitions.
o replaced constants by the corresponding defines in sptab[] for clarity.
Since there's no define for 135 baud, its mapping has been dropped.
function bsd_to_linux_termios:
o Fix typo IXON -> IXANY.
o Remove bogus assignment to c_cc[LINUX_VSWTC].
function linux_to_bsd_termios:
o Fix dupo LINUX_IXON -> LINUX_IXANY.
o Add LINUX_CREAD mapping.
o Fix typo IEXTEN -> LINUX_IEXTEN.
function linux_to_bsd_termio:
o Small optimization: Don't preset the complete c_cc array when we next
assign to the first LINUX_NCC entries.
mpp [Sat, 14 Aug 1999 09:45:31 +0000 (09:45 +0000)]
Document the AUTHORS section in mdoc(7). Expand the description
of the AUTHORS section in mdoc.samples(7) to document how the
authors name should be specified.
PR: docs/13131
Pointed out by: Alexey M. Zelkin <phantom@cris.net>
grog [Sat, 14 Aug 1999 06:30:56 +0000 (06:30 +0000)]
Clean up comments.
Don't return "can't do it" when the user requests a state change to
the current state. This previously caused silly messages like "Can't
start <foo>: invalid argument", when in fact <foo> was already
started.
set_plex_state: don't set state for non-existent plexes.
update_plex_status: as long as we have initializing subdisks, we're
initializing.
grog [Sat, 14 Aug 1999 06:29:25 +0000 (06:29 +0000)]
Tidy up some comments.
bre5:
Shorten some lines.
Desired-by: bde
If we're reading from a short plex, return EOF indication.
Always lock the stripe before starting a transfer. Hopefully the
current version will solve some data integrity problems that have
been reported with degraded RAID-5 plexes.
Reported-by: Bernd Walter <ticso@cicely.de>
Remy Nonnenmacher <remy@synx.com>
grog [Sat, 14 Aug 1999 06:28:21 +0000 (06:28 +0000)]
rewrite lockrange and unlockrange. Hopefully the current version will
solve some data integrity problems that have been reported with
degraded RAID-5 plexes.
Reported-by: Bernd Walter <ticso@cicely.de>
Remy Nonnenmacher <remy@synx.com>
grog [Sat, 14 Aug 1999 06:24:34 +0000 (06:24 +0000)]
Add code which someday will help support hot spares.
checkdiskconfig(): remove. It didn't make any sense to complain about
kernel keywords in user config files; it just made it more difficult
to convert. Now we ignore kernel keywords if we're not in kernel
mode.
get_empty_sd: initialize sectors.
free_drive: don't close if we don't have a vp. Maybe this will help
fix the problem that peter had, but I wouldn't count on it.
config_plex: If the plex is RAID-5, give it a rangelock structure.
start_config: Reset current drive, plex and volume so that a new
'create' command doesn't get long-dead defaults.
wpaul [Sat, 14 Aug 1999 05:11:01 +0000 (05:11 +0000)]
Grrrr. Fix a really lame bug that I tripped over while testing my miibus
stuff: unregister_methods() is horribly broken. The idea, if I'm not mistaken,
is that the refcount on a method is decremented, and only when it reaches
zero is the method freed. However desc->method is set to NULL unconditionally
regardless of the refcount, which means the method pointer is trashed the
first time the method is deallocated. The obvious detrimental effect is
that memory is leaked. The not so obvious effect is that when you call
unregister_method() the second time on the same method, you get a NULL
pointer dereference and a panic.
Now I can successfully unload network device drivers and the miibus module
without crashing the system.
alc [Fri, 13 Aug 1999 17:45:34 +0000 (17:45 +0000)]
vm_map_madvise:
A complete rewrite by dillon and myself to separate
the implementation of behaviors that effect the vm_map_entry
from those that effect the vm_object.
A result of this change is that madvise(..., MADV_FREE);
is much cheaper.
phk [Fri, 13 Aug 1999 16:29:27 +0000 (16:29 +0000)]
Add support for device drivers which want to track all open/close
operations. This allows a device driver better insight into
what is going on that the current:
proc1: open /dev/foo R/O
devsw->open( R/O, proc1 )
proc2: open /dev/foo R/W
devsw->open( R/W, proc2 )
proc2: close
/* nothing, but device is
really only R/O open */
proc1: close
devsw->close( R/O, proc1 )
phk [Fri, 13 Aug 1999 10:56:07 +0000 (10:56 +0000)]
Move the special-casing of stat(2)->st_blksize for device files
from UFS to the generic level. For chr/blk devices we don't care
about the blocksize of the filesystem, we want what the device
asked for.