Commit Graph

69607 Commits

Author SHA1 Message Date
erh
d2f1d733d5 Switch to the user we're su-ing to sooner. This allows su to actually access the user's home directory in cases where root can't. (i.e. root=nobody NFS mounts). Also, avoid inadvertently raising the priority. 2000-09-09 18:13:05 +00:00
jsm
d71839604a Make spacing nicer and add explicit NULL initializers. 2000-09-09 18:03:58 +00:00
jdolecek
f973bb5351 document kern.maxptys/KERN_MAXPTYS
note that kern.maxvnodes is raise only
2000-09-09 17:06:34 +00:00
jdolecek
60059df29c needs-count is no longer needed for pty, needs-flag is sufficient 2000-09-09 16:54:34 +00:00
jdolecek
1ef0c139f9 allocate pty kernel structures on demand at run-time - this allows
to support arbitrary number of ptys without need of kernel recompile
(the extra device special files in /dev/ still need to be created, of course)

upper limit of supported ptys is controlled via new sysctl variable
kern.maxptys (KERN_MAXPTYS), which is raise-only and defaults to 512.
2000-09-09 16:42:04 +00:00
itojun
2192675fb1 move file static variable into auto variable, for better thread safety.
(not really required for big lock MP).  sync with kame
2000-09-09 16:15:47 +00:00
itojun
f8481d085e add attribute(packed).
From: Alfred Perlstein <bright@wintelcom.net>
2000-09-09 11:42:22 +00:00
pk
3011e0816b Revise pv_table_map(): to simplify calculations, pv_table[] now covers
all of physical memory, i.e. it conceptually is pv_table[0..avail_end].
The previous version could lead to an off-by-one error in the page allocation
for pv_table[] in some memory configurations.
2000-09-09 10:24:34 +00:00
jsm
c6bbb5288d Store copy of username with strdup rather than using a fixed length
buffer.  Also make initialization functions and arrays static.
2000-09-09 09:37:58 +00:00
jsm
ce85e35a32 Put prototypes in alphabetical order. 2000-09-09 09:36:23 +00:00
nisimura
59178ec7b4 Use dev/{rasops,wsfont} instead of awesome dev/rcons. Still much to do
before being useful.
2000-09-09 06:15:17 +00:00
nisimura
48ff19c98b u_char -> u_int for function argument and return of Zilog register
manipulation helper functions; no loss, no gain, for Alpha processor.
2000-09-09 06:08:42 +00:00
perseant
9c7f8050f4 Various bug-fixes to LFS, to wit:
Kernel:

* Add runtime quantity lfs_ravail, the number of disk-blocks reserved
  for writing.  Writes to the filesystem first reserve a maximum amount
  of blocks before their write is allowed to proceed; after the blocks
  are allocated the reserved total is reduced by a corresponding amount.

  If the lfs_reserve function cannot immediately reserve the requested
  number of blocks, the inode is unlocked, and the thread sleeps until
  the cleaner has made enough space available for the blocks to be
  reserved.  In this way large files can be written to the filesystem
  (or, smaller files can be written to a nearly-full but thoroughly
  clean filesystem) and the cleaner can still function properly.

* Remove explicit switching on dlfs_minfreeseg from the kernel code; it
  is now merely a fs-creation parameter used to compute dlfs_avail and
  dlfs_bfree (and used by fsck_lfs(8) to check their accuracy).  Its
  former role is better assumed by a properly computed dlfs_avail.

* Bounds-check inode numbers submitted through lfs_bmapv and lfs_markv.
  This prevents a panic, but, if the cleaner is feeding the filesystem
  the wrong data, you are still in a world of hurt.

* Cleanup: remove explicit references of DEV_BSIZE in favor of
  btodb()/dbtob().

lfs_cleanerd:

* Make -n mean "send N segments' blocks through a single call to
  lfs_markv".  Previously it had meant "clean N segments though N calls
  to lfs_markv, before looking again to see if more need to be cleaned".
  The new behavior gives better packing of direct data on disk with as
  little metadata as possible, largely alleviating the problem that the
  cleaner can consume more disk through inefficient use of metadata than
  it frees by moving dirty data away from clean "holes" to produce
  entirely clean segments.

* Make -b mean "read as many segments as necessary to write N segments
  of dirty data back to disk", rather than its former meaning of "read
  as many segments as necessary to free N segments worth of space".  The
  new meaning, combined with the new -n behavior described above,
  further aids in cleaning storage efficiency as entire segments can be
  written at once, using as few blocks as possible for segment summaries
  and inode blocks.

* Make the cleaner take note of segments which could not be cleaned due
  to error, and not attempt to clean them until they are entirely free
  of dirty blocks.  This prevents the case in which a cleanerd running
  with -n 1 and without -b (formerly the default) would spin trying
  repeatedly to clean a corrupt segment, while the remaining space
  filled and deadlocked the filesystem.

* Update the lfs_cleanerd manual page to describe all the options,
  including the changes mentioned here (in particular, the -b and -n
  flags were previously undocumented).

fsck_lfs:

* Check, and optionally fix, lfs_avail (to an exact figure) and
  lfs_bfree (within a margin of error) in pass 5.

newfs_lfs:

* Reduce the default dlfs_minfreeseg to 1/20 of the total segments.

* Add a warning if the sgs disklabel field is 16 (the default for FFS'
  cpg, but not usually desirable for LFS' sgs: 5--8 is a better range).

* Change the calculation of lfs_avail and lfs_bfree, corresponding to
  the kernel changes mentioned above.

mount_lfs:

* Add -N and -b options to pass corresponding -n and -b options to
  lfs_cleanerd.

* Default to calling lfs_cleanerd with "-b -n 4".


[All of these changes were largely tested in the 1.5 branch, with the
idea that they (along with previous un-pulled-up work) could be applied
to the branch while it was still in ALPHA2; however my test system has
experienced corruption on another filesystem (/dev/console has gone
missing :^), and, while I believe this unrelated to the LFS changes, I
cannot with good conscience request that the changes be pulled up.]
2000-09-09 04:49:54 +00:00
perseant
988a012d50 Change dlfs_dmeta and dlfs_avail to signed quantities, to prevent
underflow errors, visible in userland as impossibly high values
returned from df(1).
2000-09-09 04:18:28 +00:00
perseant
8cb6723a92 Fix a buffer-cache corrupting bug in lfs_writeseg, where brelse could
be improperly used on an already-queued buffer.
2000-09-09 04:13:43 +00:00
perseant
4446817aca Make sure to unmark B_DELWRI on blocks freed due to truncation to a non-zero
file length.  Should fix PR #s 10551 and 10831.
2000-09-09 03:47:05 +00:00
hubertf
caaae66450 Move aside X link before /etc, and move the X link back if moving /etc fails.
Else if moving X fails, the system will end with no /etc.
2000-09-09 00:21:36 +00:00
msaitoh
3a0bdcde18 check _STANDALONE macro, too. 2000-09-09 00:16:21 +00:00
tshiozak
fcc188c19e Disallow '/' character in LC_* and LANG environment variable, and
prevent to look up PATH_LOCALE and NLSPATH on setuid/setgid executable.
This is important to prevent to cause some kind of security hole.
2000-09-08 20:56:36 +00:00
tron
cb01317d62 Final fix to make this work without object directories again. 2000-09-08 19:57:05 +00:00
msaitoh
2b1674cc62 remove extra #endif 2000-09-08 19:52:13 +00:00
tron
3220c30427 Readd at signs before commands which were removed for debugging. 2000-09-08 19:50:52 +00:00
msaitoh
2cb1f4181a sync with i386's revision 1.133:
It's legal to mmap pages in the lower part of the stack (<limit),
	and use them, so allow this by relaxing the check for it.
2000-09-08 19:48:12 +00:00
tron
278e796ec6 Do last change differently: "(unset MAKEOBJDIRPREFIX || true)" is a NOP,
use "MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX" instead.
2000-09-08 19:48:00 +00:00
tron
f5cb2786f8 Use "(unset MAKEOBJDIRPREFIX || true)" because unset return an error code
if the variable was not set before.
2000-09-08 19:45:45 +00:00
chs
e3b6ec1d77 remove extra paren so this compiles again. 2000-09-08 19:26:17 +00:00
msaitoh
772c846544 delete an obsolete comment. 2000-09-08 18:46:39 +00:00
jsm
a7c82eea02 Spelling and punctuation corrections or improvements from OpenBSD. 2000-09-08 17:25:31 +00:00
jsm
af3dee978f Make code clearer; add a macro ROOMDESC for the number of times a room
should be visited for the short description only to be used, and don't
increment beenthere[position] beyond this value.  From OpenBSD.
2000-09-08 17:22:01 +00:00
matt
a28f4d4751 Teach crunchgen.c about MAKEOBJDIRPREFIX. 2000-09-08 17:20:47 +00:00
jsm
ec240586d1 Manpage improvements based on OpenBSD. 2000-09-08 17:18:36 +00:00
simonb
665eca96e0 In wsdisplay_usl_ioctl2(), use a u_long for the request to be passed off
to wsdisplay_internal_ioctl() instead of an int.
With this, the pcvt compat ioctl's work on an Alpha and probably other
64 bit archs.
2000-09-08 15:32:57 +00:00
mjl
e267ac2359 Oops, errx() not err(). 2000-09-08 13:14:33 +00:00
mjl
680cd1fdaa Un-__P, ANSI- and constify. 2000-09-08 13:11:03 +00:00
mjl
f9e3c9099b Use err() 2000-09-08 13:06:13 +00:00
mjl
88a0bc30c2 Un-__P and ANSIfy. 2000-09-08 12:57:28 +00:00
mjl
8de1362608 Use errx(), add usage(). 2000-09-08 12:55:36 +00:00
ad
237007cd69 - Set CCB_ACTIVE flag in all cases when DIAGNOSTIC is defined.
- Correct arguments to bus_dmamap_create().
2000-09-08 12:16:17 +00:00
lukem
52b579665e always include <netdb.h>, not just when INET6 is defined.
resolves PR [bin/10970] by Richard Earnshaw <rearnsha@cambridge.arm.com>>
2000-09-08 11:54:53 +00:00
ragge
d85872dd78 By some reason setstatclockrate() suddenly get called occationally
(it hasn't been called since -94 :-) Remove the panic that happens when
it is called.
2000-09-08 11:41:59 +00:00
tsubai
9fdd44d404 DDB single step and stack trace support. 2000-09-08 10:15:23 +00:00
jeffs
bbcf1beea0 In outofworld, keep $sp for DDB case if it looks like a kernel address
so the stacktrace is ok.
2000-09-08 07:24:42 +00:00
toshii
6bc11dce71 In ucomopen(), make sure to call splx() before returning
when initialization fails.
2000-09-08 07:20:52 +00:00
matt
9c01e4e226 deal properly with MAKEOBJDIRPREFIX (which has priority over MAKEOBJDIR so
the MAKEOBJDIR to ${MAKE} has no effect) so we unset MAKEOBJDIRPREFIX before
invoking ${MAKE}
2000-09-08 05:37:59 +00:00
hubertf
71be3a3b99 When upgrading and /usr/X11R6/bin/X is a symlink, move it aside (X.old)
before extracting sets, and move it back afterwards, to save the information
which X server to use.

Adresses PR 10935 by Dan McMahill <dmcmahill@netbsd.org>
2000-09-08 02:50:42 +00:00
oster
3fa62c4642 Make sure we are passing a locked vp to VOP_CLOSE. 2000-09-08 01:36:35 +00:00
augustss
19f36696bc ANSIfy last patch. 2000-09-08 01:27:12 +00:00
augustss
55af72266e Remove comment about isoc not being supported. 2000-09-08 01:11:15 +00:00
augustss
96d1acf3d6 Add isoc support. From FreeBSD via Berndt Josef Wulf <wulf@ping.net.au> 2000-09-08 00:55:26 +00:00
soren
f0c15086d2 Regen. 2000-09-07 23:26:41 +00:00