Commit Graph

128078 Commits

Author SHA1 Message Date
pjd
6058d96715 Fix md(4) panic which occurs when I/O request different than
BIO_READ/BIO_WRITE is sent to vnode-backed provider (BIO_DELETE or
BIO_FLUSH).

Reported by:	ceri

Add support for BIO_FLUSH to vnode-backed md(4) devices based on
VOP_FSYNC().
2006-11-01 18:56:18 +00:00
jhb
f66a72bc4c Fix compile botch in the last panic botch fix. :(
Pointy hat:	jhb
Reported by:	brueffer
2006-11-01 18:24:12 +00:00
marius
85b7c67667 Remove the atkbd(4), atkbdc(4) and psm(4) hints. In theory they can be
used on sparc64 but that would be totally wrong in practice.
2006-11-01 18:17:53 +00:00
jhb
2a13022ca0 Increment nb_allocated while holding the pt_mtx lock to avoid races. 2006-11-01 16:50:13 +00:00
jhb
49d3deb803 Comment and style tweak. 2006-11-01 16:48:33 +00:00
pjd
d55b9d74e2 Skip disabled CPU, because after we sched_bind() to a disabled CPU,
we won't be able to exit from the thread.

Function g_eli_cpu_is_disabled() stoled from kern_pmc.c.

PR:		104669
Reported by:	Nikolay Mirin <nik@optim.com.ru>
MFC after:	1 week
2006-11-01 16:05:06 +00:00
jhb
253a40310d Fix botch in last commit (I tested on 6.x which doesn't have TSO):
- Test the mac_type rather than if_hwassist (since ifp doesn't exist yet)
  to determine if the adapter supports TSO and thus to change the sizes
  for the bus_dma tag.

Reviewed by:	glebius
2006-11-01 15:36:47 +00:00
pjd
64d3eaa81e Forgot to remove this line.
Reported by:	maxim
2006-11-01 14:09:59 +00:00
kib
1776bc8845 Aquire Giant in the softdep_flush for clear_remove() and clear_inodedeps()
processing when QUOTA is set.

Reported and tested by:	Peter Holm
Reviewed by:	tegge
MFC after:	3 days
2006-11-01 13:48:44 +00:00
pjd
bd59c267bd Better English.
Submitted by:	ru
2006-11-01 12:44:28 +00:00
pjd
83bab600a9 - Document two new function g_alloc_bio() and g_duplicate_bio().
- Bump modification date.
- Update copyright years.
2006-11-01 12:42:14 +00:00
cognet
87614bd3fe Do not include both <sys/types.h> and <sys/param.h>, it is a style bug as
sys/types.h is included in sys/param.h, so instead just move the
#include <sys/param.h> before the headers that need it.

Spotted out by:	bde
2006-11-01 12:41:43 +00:00
pjd
4a5a44a8c1 Document BIO_FLUSH request. 2006-11-01 12:34:35 +00:00
pjd
fe4b3f9ce1 Add BIO_FLUSH support to GSHSEC class. 2006-11-01 12:30:51 +00:00
pjd
457f8e4c90 Add BIO_FLUSH support to GPT class. 2006-11-01 12:29:49 +00:00
philip
a64b469a29 Fix vim syntax highlighting. Vim complained about the (comment). The syntax
file is also called "sendpr", not "send-pr".
2006-11-01 12:13:08 +00:00
ru
7169024dcb Fix -fstrict-aliasing warning. 2006-11-01 10:56:33 +00:00
pjd
d639eb8d4b Update the code to the current sync(2) version:
- Do not modify mnt_flag without mount interlock held.
- Do not touch MNT_ASYNC flag, as this can lead to a race with nmount(2).

Pointed out by:	tegge
Reviewed by:	tegge
2006-11-01 09:37:11 +00:00
pjd
2774462fb7 Fix powerpc build.
Reported by:	Peter Grehan <grehan@freebsd.org>
2006-11-01 09:22:33 +00:00
thompsa
905c36ce80 Bring in support for the Rapid Spanning Tree Protocol (802.1w).
RSTP provides faster spanning tree convergence, the protocol will exchange
information with neighboring switches to quickly transition to forwarding
without creating loops. The code will default to RSTP mode but will downgrade
any port connected to a legacy STP network so is fully backward compatible.

Reviewed by:	syrinx
Tested by:	syrinx
2006-11-01 09:07:47 +00:00
jb
7f880f15f4 When building an upgraded make, don't worry about processing it for
use with DTrace because the normal buildworld will do that when the
tools are built.
2006-11-01 09:05:40 +00:00
jb
8f5ff1bf04 Add a build option to support WITH_CDDL and WITHOUT_CDDL, defaulting
to WITH_CDDL.

This option enables building code that is licensed under Sun's CDDL.
The DTrace code is licensed that way, so by default it will get built
unless the WITHOUT_CDDL option is used.

There is another build toggle, NO_CTF, which turns off execution of
ctfconvert and ctfmerge in sys.mk, but this can't be implemented as
WITH_/WITHOUT because bsd.own.mk isn't included in all Makefiles and
sys.mk is included automatically by make.
2006-11-01 09:02:11 +00:00
jb
53574c6ce0 Add the trap-trace function for the hypervisor. 2006-11-01 08:14:14 +00:00
maxim
549129a87e o OpenBSD 4.0 added. 2006-11-01 04:56:35 +00:00
jb
d2bd807356 Add a cnputs() function to write a string to the console with
a lock to prevent interspersed strings written from different CPUs
at the same time.

To avoid putting a buffer on the stack or having to malloc one,
space is incorporated in the per-cpu structure. The buffer
size if 128 bytes; chosen because it's the next power of 2 size
up from 80 characters.

String writes to the console are buffered up the end of the line
or until the buffer fills. Then the buffer is flushed to all
console devices.

Existing low level console output via cnputc() is unaffected by
this change. ithread calls to log() are also unaffected to avoid
blocking those threads.

A minor change to the behaviour in a panic situation is that
console output will still be buffered, but won't be written to
a tty as before. This should prevent interspersed panic output
as a number of CPUs panic before we end up single threaded
running ddb.

Reviewed by:	scottl, jhb
MFC after:	2 weeks
2006-11-01 04:54:51 +00:00
maxim
978ee47c81 o Expand "Nov" to "November" in Dd macro, remove eol whitespace. 2006-11-01 04:46:06 +00:00
kevlo
eaa075b4bb Document the cdp for controlling CD power.
Approved by: cognet
2006-11-01 03:45:24 +00:00
davidxu
7508b90d59 Add error code EPERM.
Reviewed by: ru, deischen
2006-11-01 01:54:30 +00:00
julian
ca6370b606 Reworking of how to add ports.
submitted by: Jean Milanez Melo
2006-11-01 01:25:51 +00:00
pjd
a9b80b86ae Remove debugging code I accidentally committed. 2006-11-01 01:19:13 +00:00
jhb
cd8e0d8e34 Whitespace and style nits. 2006-10-31 22:36:49 +00:00
pjd
ac6b680a94 Hook up gjournal bits to the build.
Sponsored by:	home.pl
2006-10-31 22:22:30 +00:00
pjd
bedaf53f09 Add Makefile for geom_journal kernel module.
Sponsored by:	home.pl
2006-10-31 22:21:47 +00:00
pjd
1b3bd1c048 Forgot to add file with gjournal specific fsck code.
Sponsored by:	home.pl
2006-10-31 22:21:01 +00:00
pjd
3a5ac9f9e0 Add fs_unrefs field to the super block structure.
Sponsored by:	home.pl
2006-10-31 22:18:33 +00:00
pjd
90d15919d6 Add recently added fs_unrefs field.
Sponsored by:	home.pl
2006-10-31 22:15:59 +00:00
pjd
b77d5dc9d5 Update after function renames.
Sponsored by:	home.pl
2006-10-31 22:07:29 +00:00
pjd
1fff821e2d Implements gjournal support. If file system has gjournal support enabled
and -p flag was given perform fast file system checking (bascially only
garbage collecting of orphaned objects).

Rename bread() to blread() and bwrite() to blwrite() as we now link to
the libufs library, which also implement functions with that names.

Sponsored by:	home.pl
2006-10-31 22:06:56 +00:00
pjd
aaa4c16f67 Teach about new fields (cg_unrefs and fs_unrefs) and new FS_GJOURNAL flag.
Sponsored by:	home.pl
2006-10-31 22:02:24 +00:00
pjd
a724cc6cf0 Teach mount(8) about MNT_GJOURNAL flag.
MNT_GJOURNAL flag is not a mount-time flag, but it is needed to show
'gjournal' option in mount(8) output.

Sponsored by:	home.pl
2006-10-31 21:54:51 +00:00
pjd
ad87251c1a Add -J flag to both newfs(8) and tunefs(8) which allows to enable gjournal
support.
I left -j flag for UFS journal implementation which we may gain at some
point.

Sponsored by:	home.pl
2006-10-31 21:52:28 +00:00
pjd
036e929548 Add gjournal specific code to the UFS file system:
- Add FS_GJOURNAL flag which enables gjournal support on a file system.
- Add cg_unrefs field to the cylinder group structure which holds
  number of unreferenced (orphaned) inodes in the given cylinder group.
- Add fs_unrefs field to the super block structure which holds
  total number of unreferenced (orphaned) inodes.
- When file or a directory is orphaned (last reference is removed, but
  object is still open), increase fs_unrefs and cg_unrefs fields,
  which is a hint for fsck in which cylinder groups looks for such
  (orphaned) objects.
- When file is last closed, decrease {fs,cg}_unrefs fields.
- Add VV_DELETED vnode flag which points at orphaned objects.

Sponsored by:	home.pl
2006-10-31 21:48:54 +00:00
glebius
f025652fdc Fix buildworld. 2006-10-31 21:44:46 +00:00
pjd
f3e9efc37b Add MNT_GJOURNAL flag which indicates, that file system has gjournal
support enabled.
Add mnt_gjprovider field which keeps gjournal provider's name on which
file system is placed on. This allows to not place file system on gjournal
directly and allows gjournal class to pair gjournal provider with file
system.

Sponsored by:	home.pl
2006-10-31 21:38:51 +00:00
pjd
c0defeafe6 Add userland control utility for gjournal GEOM class.
Sponsored by:	home.pl
2006-10-31 21:32:54 +00:00
pjd
66101a4314 Add gjournal GEOM class (kernel side), which implements block level
journaling and can be tought about marking file system as clean before
doing journal switch, which easly allows to add journaling to file
systems that don't have this feature.

Sponsored by:	home.pl
2006-10-31 21:31:00 +00:00
pjd
c33849dc41 Implement BIO_FLUSH handling by simply passing it down to the components.
Sponsored by:	home.pl
2006-10-31 21:23:51 +00:00
pjd
51fb042070 Implement cgwrite1(3) function which stored a given cylinder group on disk.
Sponsored by:	home.pl
2006-10-31 21:21:48 +00:00
pjd
4ed49f81f8 Implement BIO_FLUSH handling for da(4), amr(4), ata(4) and ataraid(4).
Sponsored by:	home.pl
2006-10-31 21:19:25 +00:00
pjd
67c00d09c1 Add a new disk flag - DISKFLAG_CANFLUSHCACHE, which indicates that the disk
can handle BIO_FLUSH requests.

Sponsored by:	home.pl
2006-10-31 21:12:43 +00:00