Commit Graph

68894 Commits

Author SHA1 Message Date
Alfred Perlstein
426da3bcfb SMP Lock struct file, filedesc and the global file list.
Seigo Tanimura (tanimura) posted the initial delta.

I've polished it quite a bit reducing the need for locking and
adapting it for KSE.

Locks:

1 mutex in each filedesc
   protects all the fields.
   protects "struct file" initialization, while a struct file
     is being changed from &badfileops -> &pipeops or something
     the filedesc should be locked.

1 mutex in each struct file
   protects the refcount fields.
   doesn't protect anything else.
   the flags used for garbage collection have been moved to
     f_gcflag which was the FILLER short, this doesn't need
     locking because the garbage collection is a single threaded
     container.
  could likely be made to use a pool mutex.

1 sx lock for the global filelist.

struct file *	fhold(struct file *fp);
        /* increments reference count on a file */

struct file *	fhold_locked(struct file *fp);
        /* like fhold but expects file to locked */

struct file *	ffind_hold(struct thread *, int fd);
        /* finds the struct file in thread, adds one reference and
                returns it unlocked */

struct file *	ffind_lock(struct thread *, int fd);
        /* ffind_hold, but returns file locked */

I still have to smp-safe the fget cruft, I'll get to that asap.
2002-01-13 11:58:06 +00:00
Wolfram Schneider
12076922ff Remove myself as maintainer, I don't have free time for adduser anymore. 2002-01-13 11:54:48 +00:00
Andrey A. Chernov
df33804e71 Merge some of vt2x0 tc= chain to save 1024 buffer space.
Clarify comment about kind of color emulators for which vt*-co* entries
are for and about saving space.
Use direct \E[m instead of ...;m for dumb emulators.
2002-01-13 09:04:37 +00:00
Jake Burkholder
f2602cd538 Comment out the retrieval of a termination function from %g1. It is
doubtful this will ever be used by anything and rtld uses %g1.
Comment out references to _init and _fini for now too.
2002-01-13 06:17:19 +00:00
Ian Dowse
8a919282a5 It is required by VOP_CREATE, VOP_MKNOD, VOP_SYMLINK and VOP_MKDIR
that va_mode of the supplied attributes is filled in with a valid
file mode (i.e not VNOVAL, and only ALLPERM bits set). However,
some NFS server op functions didn't guarantee this for all possible
request messages:

If a V3 client chose not include to a mode specification, we could
end up creating an ffs inode with mode 0177777, requiring a manual
fsck on the next reboot. Fix this by setting va_mode to 0 before
calling the VOP if a mode hasn't been supplied by the client.

In nfsrv_symlink(), S_IFMT bits supplied by a V2 client could end
up in the va_mode passed to VOP_SYMLINK with similar effects. We
now use the macro nfstov_mode() to correctly mask the bits.
2002-01-13 05:36:05 +00:00
Andrey A. Chernov
900716eeea Add comment indicating that vtXXX-co* entries are for color-enabled terminal
emulators
2002-01-13 01:01:05 +00:00
Dag-Erling Smørgrav
4e8b159f5e Unmunge the version preservation code and obfuscate it so CVS won't munge
it all over again.
2002-01-12 23:08:59 +00:00
Warner Losh
fa9401c129 Add info about the /etc/pam.conf -> /etc/pam.d stuff. 2002-01-12 21:27:02 +00:00
Bill Paul
07c006c6fb Add support for newer integrated SiS 900 controllers on the 635 and 735
motherboard chipsets. We need to force the chip to reload its MAC address
into the receive filter, and enable software access mode for the PHY.

PR:		kern/33294
2002-01-12 21:12:17 +00:00
Kirk McKusick
0bc7a833ec When going to sleep, we must save our SPL so that it does not get
lost if some other process uses the lock while we are sleeping. We
restore it after we have slept. This functionality is provided by
a new routine interlocked_sleep() that wraps the interlocking with
functions that sleep. This function is then used in place of the
old ACQUIRE_LOCK_INTERLOCKED() and FREE_LOCK_INTERLOCKED() macros.

Submitted by:	Debbie Chu <dchu@juniper.net>
2002-01-12 20:57:36 +00:00
Archie Cobbs
bf2ed16b89 Export "ng_ether_enaddr_type" because the ng_bridge type uses it. 2002-01-12 17:31:25 +00:00
Andrey A. Chernov
50146ad5c0 Add NP flag to vt100-np 2002-01-12 17:05:33 +00:00
Dag-Erling Smørgrav
f89a116468 Back out previous commit, which erroneously removed essential comments. I
definitely need coffee.

Apologies to:	ache
2002-01-12 14:22:22 +00:00
Dag-Erling Smørgrav
ca90ed6b1c Update copyright 2002-01-12 14:17:19 +00:00
Andrey A. Chernov
871accbbf2 Add color entries for DEC VT family
Compact some space in vt100 entry, add more ac characters
2002-01-12 14:09:04 +00:00
Dag-Erling Smørgrav
0703287104 Switch over to /etc/pam.d/.
Sponsored by:	DARPA / NAI Labs
2002-01-12 14:03:12 +00:00
Dag-Erling Smørgrav
84437855b4 Sync with pam.conf revision 1.25. 2002-01-12 13:50:33 +00:00
Dag-Erling Smørgrav
1c6246992a Preserve FreeBSD version strings in target files. 2002-01-12 13:50:08 +00:00
Mark Murray
a61a203e62 Build the TCP-wrapper helper "daemon" tcpd. This is not much use in
a bog-standard FreeBSD installation, as inetd(8) does that job, but
for inetd(8) replacemenrts such as xinetd, having this around makes
sense.
2002-01-12 13:31:30 +00:00
Jens Schweikhardt
e3e5c7667e Make substitutions in internal macros like $(@F:.o=.c) work.
This should not affect our build process, as

	find /usr/src -name Makefile | xargs grep '@[DF]'

has no matches (other than FreeBSD.org email addresses :-)

PR:		bin/24377
Submitted by:	Mark Valentine <mark@thuvia.demon.co.uk>
Reviewed by:	Matthew Emmerton <matt@gsicomp.on.ca>
MFC after:	4 weeks
2002-01-12 10:45:27 +00:00
Warner Losh
8128d1f555 Correct Corega KK Wireless entry 2002-01-12 07:01:51 +00:00
Bruce A. Mah
4bd2f25749 Fix pathnames.
PR:		33716
Submitted by:	Tim J. Robbins <tim@robbins.dropbear.id.au>
2002-01-12 04:06:34 +00:00
Ian Dowse
5df3797ebf Fix a few NFSv2 issues that slipped in during the big cleanup. The
semantics of the nfsm_reply() macro were changed so that the caller
has to explicitly handle the V2 error case, whereas before,
nfsm_reply() did a `goto nfsmout' then. A few server ops (setattr,
readlink, create, mkdir) weren't updated to match, so errors in the
V2 case could cause protocol hangs and leaked mbufs.

Correct some comments that describe the old nfsm_reply behaviour.

[older, harmless nit] Remove the unnecessary `nfsmreply0' label in
nfsrv_create(), since for its users, the main `ereply' label does
the same thing.
2002-01-12 03:57:25 +00:00
Kirk McKusick
715b7b8445 Fix typo so that the delay code introduced in revision 1.60 actually
does something.

Submitted by:	John Baldwin <john@baldwin.cx>
2002-01-12 02:04:15 +00:00
Bruce A. Mah
f1bf956810 newfs -U enables softupdates beginning with FreeBSD 4.5.
PR:		33391
Submitted by:	Ceri <setantae@submonkey.net>
2002-01-11 23:55:58 +00:00
Matt Jacob
975284da32 Add missing move of relative offset for CTIO2 updates. 2002-01-11 23:48:25 +00:00
Bruce A. Mah
4ab0ac1631 Rewrite the i386 processor support section. The old one was too
Intel-specific, and needed fleshing out.

PR:		33582
Reviewed by:	Tom Rhodes <darklogik@pittgoth.com>,
		"Ted Mittelstaedt" <tedm@toybox.placo.com>,
		swear@blarg.net (Gary W. Swearingen)
MFC after:	1 day
2002-01-11 23:27:46 +00:00
Ian Dowse
66b462a989 The macro nfsm_reply() is supposed to allocate a reply in all cases,
but since the nfs cleanup, it hasn't done so in the case where
`error' is EBADRPC. Callers of this macro expect it to initialise
*mrq, and the `nfsmout' exit point expects a reply to be allocated
if error == 0. When nfsm_reply() was called with error = EBADRPC,
whatever junk was in *mrq (often a stale pointer to an old reply
mbuf) would be assumed to be a valid reply and passed to pru_sosend(),
causing a crash sooner or later.

Fix this by allocating a reply even in the EBADRPC case like we
used to do. This bug was specific to -current.
2002-01-11 22:22:39 +00:00
Warner Losh
76980afbc0 I don't think that these modules should export symbols at all. All
intermodule communication is done via kobj calls.  If anything
currently depends on them, let it break so that we can fix it.  Maybe
we'll need to export some of the card_if.c or power_if.c symbols, but
I think those should be in the base kernel (since all *_if.c should be
in the base kernel for just these reasons).
2002-01-11 20:14:03 +00:00
Kirk McKusick
794ef3471f Must call drain_output() before checking the dirty block list
in softdep_sync_metadata(). Otherwise we may miss dependencies
that need to be flushed which will result in a later panic
with the message ``vinvalbuf: dirty bufs''.

Submitted by:	Matthew Dillon <dillon@apollo.backplane.com>
MFC after:	1 week
2002-01-11 19:59:27 +00:00
Daniel Eischen
aee4cebfe7 Include <stddef.h> to fix build problem when namespace pollution
by <signal.h> (including <time.h> so that NULL is accidentally defined)
is removed.

Style nits.

Submitted by:	bde
2002-01-11 19:46:08 +00:00
Ruslan Ermilov
deba245176 Don't format lines that look like troff requests, for
compatibility with old fmt(1).  New option -n permits
formatting of lines beginning with a dot character.

PR:		bin/31392
MFC after:	3 days
2002-01-11 19:06:48 +00:00
Bruce Evans
b9c35b6942 Fixed unsorting and splitting of SRCS in previous commit. 2002-01-11 17:10:35 +00:00
Bruce Evans
aa989c61f1 Fixed some style bugs (disordered SRCS and garbage comment near EOF). 2002-01-11 16:49:30 +00:00
Ian Dowse
52e85481fd Make the alpha boot1 work on filesystems that have a block size
larger than 8k. We now use 4k buffers regardless of the filesystem
block size, so there is no longer a static limit.

Simply increasing the buffer size from 8k to 16k as done on the
i386 doesn't work on the alpha, probably because it causes us
to overshoot boot1's 48k runtime memory limit.

Tested by:	naddy
2002-01-11 16:14:34 +00:00
Bruce Evans
614acf2fad Fixed missing backslash in previous commit. 2002-01-11 16:08:49 +00:00
Jesper Skriver
3cd675111b It turns out that when a broadcast packet is looped back, the checksums
are checked on the way in even if they were not calculated on the
way out.

This fixes rwhod

PR:			31954
Submitted by:	fenner
Approved by:	fenner
MFC after:	1 week
2002-01-11 16:04:47 +00:00
Bruce Evans
b944866c25 Fixed accumulated unsorting and some other style bugs (long lines). 2002-01-11 15:59:30 +00:00
Alexey Zelkin
7f751a854f Sort entries and clarify comments 2002-01-11 15:51:56 +00:00
Ruslan Ermilov
17d6c63672 Drop <bsd.man.mk> support from <bsd.kmod.mk>.
Not objected to by:	-current
2002-01-11 15:49:02 +00:00
Bruce Evans
afac94af5c Replaced bogus cross references by the usual one for the ctype family
(ctype(3)).
2002-01-11 15:39:50 +00:00
Bruce Evans
87e0032026 Removed assertion that isblank() conforms to C90 too. This assertion
is correct but less than useful.  There is some uncertainty about whether
isblank() is in C99, but it is certainly not in C90.  It just conforms
to C89 because it is a conforming extension.
2002-01-11 15:21:03 +00:00
Bruce Evans
5fb3acfaaf Fixed unsorting of almost all lists in previous commit.
Removed assertion that isblank() is in C99 here too.
2002-01-11 15:15:17 +00:00
Ruslan Ermilov
b9de8f2010 Now that we have the original BSD man(1)'s ${MACHINE} feature
back (as of man.c,v 1.45), change the meaning of the -m option
from poorly documented and badly coded "alternate system" to a
much more useful "different architecture for the same system".

PR:		docs/31261
2002-01-11 15:12:00 +00:00
Bruce Evans
758671eb0d Fixed unsorting of MLINKS in previous commit.
Fixed unsorting of SRCS in rev.1.18.
2002-01-11 14:57:11 +00:00
Bruce Evans
df2aa36d5a Fixed missing return type in the prototoype for the hook function. 2002-01-11 13:18:32 +00:00
Ruslan Ermilov
84caf00847 Fix a panic condition in icmp_reflect() introduced in rev. 1.61.
(We should be able to handle locally originated IP packets, and
these do not have m_pkthdr.rcvif set.)

PR:		kern/32806, kern/33766
Reviewed by:	luigi
Fix tested by:	Maxim Konovalov <maxim@macomnet.ru>,
		Erwin Lansing <erwin@lansing.dk>
2002-01-11 12:13:57 +00:00
Ruslan Ermilov
20cea81ba1 The -pthread -> -lc_r change didn't reach here. 2002-01-11 11:42:16 +00:00
Ruslan Ermilov
438b157a57 Forgot to commit these two files for the recent .Dt change. 2002-01-11 11:30:14 +00:00
John Baldwin
e60c44e873 Add missing prototype for pmap_unmapdev(). 2002-01-11 09:41:03 +00:00