Commit Graph

110304 Commits

Author SHA1 Message Date
Pawel Jakub Dawidek
9eec299fab Some major cleanups.
Keeping consumers open when device is closed is very hard. We need to
open consumers sometimes to update metadata, etc.
Many hacks was introduced in the past to made it possible. You cannot
be sure that you can open consumer for writing always, even if you think
it should be allowed. If one of the mirror components is for example da0
and you try to open it, you can get EPERM when da0s1 is opened for reading
(because BSD class opens consumers (da0) with an extra 'e' bit set).
Waiting for the events queue to be empty may do the trick, but it makes
code much uglier (as you cannot always call g_waitidle()), it doesn't
solve all edge cases and it can introduce deadlocks if there are events
in the queue that wait for gmirror.

I removed those hacks. Now all consumers are open r1w1e1 always, even if
device is closed. Maybe it is less clean from GEOM perspective, but simpify
code a lot and make it much more reliable.
The only issue was retaste event which is sent when we close consumers
opened for writing. I ignore retaste event by not detaching consumer
immediately (so retaste event is not send to my class) and sending event
right after it to detach and destroy consumer.
2004-12-19 23:12:00 +00:00
Pawel Jakub Dawidek
c37e2f9bbf Don't quit on first failure, just skip failures. 2004-12-19 22:58:25 +00:00
Mark Santcroos
2e03d4887d Add myself. 2004-12-19 22:21:41 +00:00
Daniel Hartmeier
2726bbe221 Initialise init_addr in pf_map_addr() in the PF_POOL_ROUNDROBIN,
prevents a possible endless loop in pf_get_sport() with 'static-port'

ICMP state entries use the ICMP ID as port for the unique state key. When
checking for a usable key, construct the key in the same way. Otherwise,
a colliding key might be missed or a state insertion might be refused even
though it could be inserted. The second case triggers the endless loop,
possibly allowing a NATed LAN client to lock up the kernel.

PR:			kern/74930
Reported and tested by:	Hugo Silva, Srebrenko Sehic
MFC after:		3 days
2004-12-19 19:43:04 +00:00
Nate Lawson
6e0e5d3623 Move launching the worker thread from a SYSINIT to the first device's
attach.  This fixes the previous behavior where systems without hptmv
hardware always had a worker thread running.
2004-12-19 19:42:54 +00:00
Maxim Konovalov
f8c5e12739 Allocate an additional white space in a username column for
a long (UT_NAMESIZE) login names.

PR:		bin/75259
Submitted by:	Matthew D.Fuller
MFC after:	2 weeks
2004-12-19 18:02:45 +00:00
Gleb Smirnoff
e5782a8c85 We already have ng_fec.4 manpage. And sys/modules is not a correct
place for documentation.
2004-12-19 16:06:14 +00:00
Gleb Smirnoff
e9c9b9971b We have an informative ng_source.4 manpage, which is not installed. 2004-12-19 16:03:06 +00:00
Gleb Smirnoff
d58e678f22 Assert queue mutex in ng_dequeue() and ng_queue_rw(). 2004-12-19 14:58:13 +00:00
Colin Percival
0993d1af06 Use the accepted abbreviation "kB" for kilobyte, rather than "kb" (which
is the common unit for a kilobit).
2004-12-19 13:29:25 +00:00
Garance A Drosehn
a6ed151d3c Call umask() before opening the lock-file for a queue, to make sure
the file will be created with the right access, if the call to open()
does create it.  Also fix the other call to umask() to turn off
"write others", just as a matter of general safety.

PR:		74418
MFC after:	4 days
2004-12-19 05:14:29 +00:00
Christian Brueffer
5f1f4b0908 Nuke ports-picobsd, it was thrown out a while ago.
Approved by:	linimon
MFC after:	3 days
2004-12-19 02:31:45 +00:00
Christian Brueffer
18c7cda54a In the ethernet-nic-regex:
- add udav(4)

In the scsi-controller-regex:

- correct an entry
- move another one to the right place
- add a bunch of missing drivers

Glanced at by:	trhodes (scsi-controller-regex part)
MFC after:	3 days
2004-12-19 00:50:07 +00:00
Maxim Sobolev
a0d98e42a7 Add FC929X into the list of supported devices.
Reminded by:	simon
2004-12-18 19:12:06 +00:00
Daniel Eischen
843d4004b3 Use a generic way to back threads out of wait queues when handling
signals instead of having more intricate knowledge of thread state
within signal handling.

Simplify signal code because of above (by David Xu).

Use macros for libpthread usage of pthread_cleanup_push() and
pthread_cleanup_pop().  This removes some instances of malloc()
and free() from the semaphore and pthread_once() implementations.

When single threaded and forking(), make sure that the current
thread's signal mask is inherited by the forked thread.

Use private mutexes for libc and libpthread.  Signals are
deferred while threads hold private mutexes.  This fix also
breaks www/linuxpluginwrapper; a patch that fixes it is at
http://people.freebsd.org/~deischen/kse/linuxpluginwrapper.diff

Fix race condition in condition variables where handling a
signal (pthread_kill() or kill()) may not see a wakeup
(pthread_cond_signal() or pthread_cond_broadcast()).

In collaboration with:	davidxu
2004-12-18 18:07:37 +00:00
Olivier Houchard
885dabe5f7 Update the StrongArm port to match the current code.
- Implement arm_mask_irqs and arm_unmask_irqs
- Provide the available physical address range after pmap_bootstrap allocated
things, instead or before, or bad things happen.
2004-12-18 17:58:49 +00:00
Olivier Houchard
31e3e209b1 Make sure gcc doesn't generate something such as swp r3, r4, [r3] for __swp,
as it has unpredictable results.
2004-12-18 17:43:01 +00:00
Ruslan Ermilov
2cf24569af Add missing dependencies of $(OUTPUTS) on source makefiles.
Caught by:	make -DNOCLEAN buildworld
2004-12-18 17:30:53 +00:00
Maxim Sobolev
d579f3e4fe Add support for FC929X, which apparently is just a PCI-X version of FC929.
MFC after:	3 days
2004-12-18 16:49:54 +00:00
Poul-Henning Kamp
3b08d5830b Change terminal state, not terminal type 2004-12-18 16:31:21 +00:00
Ralf S. Engelschall
299738e78d Synchronize reference list to the ng_xxx(4) manpages of netgraph nodes
with the actually installed manpages by adding the missing ones. This
way they can be found more easily.

MFC after:	2 days
2004-12-18 15:27:17 +00:00
Poul-Henning Kamp
cb16893698 If /etc/named is a symlink, try to make sure it points the right place. 2004-12-18 15:19:36 +00:00
David Xu
839f811c6a 1. msleep returns EWOULDBLOCK not ETIMEDOUT, use EWOULDBLOCK instead.
2. Eliminate a possible lock leak in timed wait loop.
2004-12-18 13:43:16 +00:00
David Xu
50586e8b6b 1. make umtx sharable between processes, the way is two or more processes
call mmap() to create a shared space, and then initialize umtx on it,
   after that, each thread in different processes can use the umtx same
   as threads in same process.
2. introduce a new syscall _umtx_op to support timed lock and condition
   variable semantics. also, orignal umtx_lock and umtx_unlock inline
   functions now are reimplemented by using _umtx_op, the _umtx_op can
   use arbitrary id not just a thread id.
2004-12-18 12:52:44 +00:00
Ruslan Ermilov
9a5393ac68 Grammar in a comment. 2004-12-18 12:31:12 +00:00
Poul-Henning Kamp
5679e1ac37 Open device R/W for ioctl modifications. 2004-12-18 11:04:10 +00:00
Ruslan Ermilov
c88f165bd5 Uncomment an upcoming 5.4-RELEASE. 2004-12-18 07:20:33 +00:00
Max Laier
905c6b87b7 Make ip_nat compile again. Should read #if->n<-def LARGE_NAT as in ipf 4.x 2004-12-18 03:47:54 +00:00
Julian Elischer
53d4f8518a Slight change to formatting so that 'ctags' doesn't
give up on teh file half way through.. Might have been my
mistake earlier anyhow. No actual code change

MFC after:	5 days
2004-12-18 01:20:18 +00:00
Joseph Koshy
26f67c9cae Document "machdep.hlt_cpus".
Reviewed by:	ru
2004-12-18 01:13:37 +00:00
Joseph Koshy
41ecd18235 Uncomment entries for FreeBSD 6.0 and 4.11.
Requested by:	ru
2004-12-18 01:07:18 +00:00
Christian Brueffer
4b2c187db5 Specify the state of my birth, similar to other entries. 2004-12-18 00:58:22 +00:00
Christian Brueffer
9c629c3588 BCM5721 is supported as well. 2004-12-17 23:03:30 +00:00
Paul Saab
35ca8069a9 Add support for the 5721 which seems to be similar to the 5750/5751.
Tested by:	Vivek Khera vivek at khera dot org
2004-12-17 21:50:18 +00:00
Ralf S. Engelschall
8747427026 1. To give the user a clue about the expiration timeout values, mention
the default timeouts of 1800 (activity) and 15 (inactivity) seconds.

2. Fix the "ifinfo" ASCII control message description:
   it requires the interface number as an argument.

MFC after:	2 days
2004-12-17 20:49:01 +00:00
Matthew N. Dodd
86906d256a Diff reduce wi_write_wep() relative to revision 1.168 2004-12-17 20:48:13 +00:00
Christian Brueffer
fa3f865d01 Modify the name of the supported bluetooth card.
Discussed with:		emax
2004-12-17 19:01:55 +00:00
Alan Cox
98fe9a0ddf Eliminate another unnecessary call to vm_page_busy(). (See revision 1.333
for a detailed explanation.)
2004-12-17 18:54:51 +00:00
Christian Brueffer
d94b44fb9c Autogenerate device listings for umass(4).
MFC after:	3 days
2004-12-17 18:37:58 +00:00
Christian Brueffer
703fdea062 - add a HARDWARE section based on the hardware notes and the devices
already listed in the manpage
- reword some DESCRIPTION sentences
- Xref ehci(4)
- bump .Dd

MFC after:	3 days
2004-12-17 18:35:38 +00:00
Simon L. B. Nielsen
c70d1f767c Correct entity name added in the last revision. 2004-12-17 18:19:44 +00:00
Peter Wemm
d6ef0bf119 Recognize the 32-bit form of the twe binary passthrough ioctl()s so that
there is some hope for the 32-bit management utilities to run.  I've used
the cli successfully, but 3dm2 doesn't work for other reasons.  Of course,
a native binary of the 3dm2 and cli would be much better, but that doesn't
exist.
2004-12-17 17:45:29 +00:00
Alan Cox
06c98c5dcc Enable debug.mpsafevm by default on alpha. 2004-12-17 17:17:36 +00:00
Joseph Koshy
548c9b4376 Revert rev 1.66. This file needs to track its upstream source.
Requested by:	ru
2004-12-17 16:29:54 +00:00
Darren Reed
f42b5dbebb Move two variables that are unused if LARGE_NAT is defined inside an #ifdef
to keep them out of harms way when compiling.

PR:	72783
2004-12-17 15:59:16 +00:00
Joseph Koshy
f33e5b1ab2 Mark mknod(8) as deprecated. Add text in the 'COMPATIBILITY' section
describing the changes in device management since FreeBSD 4.0.

Reviewed by:	ru
2004-12-17 14:36:02 +00:00
Joseph Koshy
7b01553c1d Remove mention of block devices. Mention that entries under /dev
are managed by devfs(5).  Add cross-references.

Reviewed by:	ru
2004-12-17 14:28:53 +00:00
Joseph Koshy
e791235b73 Support for ".Fx 6.0".
Reviewed by:	ru
2004-12-17 14:10:44 +00:00
Kirill Ponomarev
e57fe04667 Introduce new variables FETCHINDEX, MASTER_SITE_INDEX and add
description for MASTER_SITE_BACKUP.

Based on PR:	ports/74709
Submitted by:	Valentin Nechayev <netch@netch.kiev.ua>
Reviewed by:	ru
MFC after:	3 days
2004-12-17 13:39:55 +00:00
Ruslan Ermilov
0207facc8f err() -> errx() 2004-12-17 13:24:22 +00:00