dragonfly.git
4 years agonata modularization - Revert driver name to "atapci" nata-modularization
Michael Neumann [Tue, 15 Dec 2009 20:43:59 +0000 (21:43 +0100)]
nata modularization - Revert driver name to "atapci"

Revert commit 99a52ccedea1ec01bedf00c1aef36a327192023b.

4 years agonata modularization - rename sii to siliconimage
Michael Neumann [Tue, 15 Dec 2009 18:17:26 +0000 (19:17 +0100)]
nata modularization - rename sii to siliconimage

4 years agonata modularization - move #defines into drivers
Michael Neumann [Tue, 15 Dec 2009 18:07:28 +0000 (19:07 +0100)]
nata modularization - move #defines into drivers

4 years agonata modularization - move #defines into drivers
Michael Neumann [Tue, 15 Dec 2009 17:52:49 +0000 (18:52 +0100)]
nata modularization - move #defines into drivers

4 years agonata modularization - use correct driver name
Michael Neumann [Tue, 15 Dec 2009 17:23:26 +0000 (18:23 +0100)]
nata modularization - use correct driver name

4 years agonata modularization - Let each driver probe itself
Michael Neumann [Tue, 15 Dec 2009 17:06:20 +0000 (18:06 +0100)]
nata modularization - Let each driver probe itself

Every specific chipset is now implemented as a separate driver.
If none matches the generic atapci driver provides a fallback.

4 years agonata modularization - Add missing file (AMD)D)
Michael Neumann [Tue, 15 Dec 2009 16:23:02 +0000 (17:23 +0100)]
nata modularization - Add missing file (AMD)D)

4 years agonata modularization - VIA
Michael Neumann [Tue, 15 Dec 2009 12:53:55 +0000 (13:53 +0100)]
nata modularization - VIA

4 years agonata modularization - Silicon Integrated Systems (SiS)
Michael Neumann [Tue, 15 Dec 2009 12:49:30 +0000 (13:49 +0100)]
nata modularization - Silicon Integrated Systems (SiS)

4 years agonata modularization - Silicon Image Inc.
Michael Neumann [Tue, 15 Dec 2009 12:46:26 +0000 (13:46 +0100)]
nata modularization - Silicon Image Inc.

4 years agonata modularization - ServerWorks
Michael Neumann [Tue, 15 Dec 2009 12:41:53 +0000 (13:41 +0100)]
nata modularization - ServerWorks

4 years agonata modularization - Promise
Michael Neumann [Tue, 15 Dec 2009 12:38:39 +0000 (13:38 +0100)]
nata modularization - Promise

4 years agonata modularization - nVidia
Michael Neumann [Tue, 15 Dec 2009 12:30:22 +0000 (13:30 +0100)]
nata modularization - nVidia

4 years agonata modularization - NetCell
Michael Neumann [Tue, 15 Dec 2009 12:27:26 +0000 (13:27 +0100)]
nata modularization - NetCell

4 years agonata modularization - National
Michael Neumann [Tue, 15 Dec 2009 12:23:02 +0000 (13:23 +0100)]
nata modularization - National

4 years agonata modularization - Marvell
Michael Neumann [Tue, 15 Dec 2009 12:10:22 +0000 (13:10 +0100)]
nata modularization - Marvell

4 years agonata modularization - JMicron
Michael Neumann [Tue, 15 Dec 2009 12:05:16 +0000 (13:05 +0100)]
nata modularization - JMicron

4 years agonata modularization - ITE
Michael Neumann [Tue, 15 Dec 2009 12:01:25 +0000 (13:01 +0100)]
nata modularization - ITE

4 years agonata modularization - Intel
Michael Neumann [Tue, 15 Dec 2009 11:57:30 +0000 (12:57 +0100)]
nata modularization - Intel

4 years agonata modularization - Highpoint
Michael Neumann [Tue, 15 Dec 2009 11:52:25 +0000 (12:52 +0100)]
nata modularization - Highpoint

4 years agonata modularization - Cypress
Michael Neumann [Tue, 15 Dec 2009 11:48:40 +0000 (12:48 +0100)]
nata modularization - Cypress

4 years agonata modularization - Cyrix
Michael Neumann [Tue, 15 Dec 2009 11:44:22 +0000 (12:44 +0100)]
nata modularization - Cyrix

4 years agonata modularization - ATI
Michael Neumann [Mon, 14 Dec 2009 18:26:57 +0000 (19:26 +0100)]
nata modularization - ATI

4 years agonata modularization - AMD
Michael Neumann [Mon, 14 Dec 2009 18:16:43 +0000 (19:16 +0100)]
nata modularization - AMD

4 years agonata modularization - fix copy&paste typo
Michael Neumann [Mon, 14 Dec 2009 18:07:07 +0000 (19:07 +0100)]
nata modularization - fix copy&paste typo

4 years agonata modularization - AHCI
Michael Neumann [Mon, 14 Dec 2009 18:06:08 +0000 (19:06 +0100)]
nata modularization - AHCI

4 years agonata modularization - Acerlabs (Ali)
Michael Neumann [Mon, 14 Dec 2009 17:37:21 +0000 (18:37 +0100)]
nata modularization - Acerlabs (Ali)

4 years agonata modularization - Acard
Michael Neumann [Mon, 14 Dec 2009 17:17:34 +0000 (18:17 +0100)]
nata modularization - Acard

4 years agonata modularization - unstaticize common functionality
Michael Neumann [Mon, 14 Dec 2009 16:54:33 +0000 (17:54 +0100)]
nata modularization - unstaticize common functionality

4 years agoHAMMER Utility - Fix seg-fault in hammer cleanup if blank lines in config
Matthew Dillon [Mon, 14 Dec 2009 16:01:57 +0000 (08:01 -0800)]
HAMMER Utility - Fix seg-fault in hammer cleanup if blank lines in config

* If the HAMMER config contained blank lines the hammer cleanup
  directive would seg-fault trying to parse it.

* Ignore blank lines.  Also ignore lines beginning with a '#' when
  parsing the config.

Reported-by: elekktretterr@exemail.com.au
4 years agosetlocale.3: Correct function name.
Sascha Wildner [Mon, 14 Dec 2009 04:37:36 +0000 (05:37 +0100)]
setlocale.3: Correct function name.

4 years agopnp.4: Comment out some docs (code either gone or #if 0'd).
Sascha Wildner [Mon, 14 Dec 2009 04:24:37 +0000 (05:24 +0100)]
pnp.4: Comment out some docs (code either gone or #if 0'd).

4 years agorman.9: Comment out documentation for rman_await_resource().
Sascha Wildner [Mon, 14 Dec 2009 03:38:51 +0000 (04:38 +0100)]
rman.9: Comment out documentation for rman_await_resource().

The code is #if 0'd too.

4 years agovcount.9: count_udev() no longer exists.
Sascha Wildner [Mon, 14 Dec 2009 03:27:35 +0000 (04:27 +0100)]
vcount.9: count_udev() no longer exists.

See aec8eea47f8acbdec20843e7d8e7bc6d4255cce3

4 years agopthread_rwlock_timedwrlock.3: Correct function name.
Sascha Wildner [Mon, 14 Dec 2009 03:06:04 +0000 (04:06 +0100)]
pthread_rwlock_timedwrlock.3: Correct function name.

4 years agosleep.9: Adjust for serialize_sleep() -> zsleep() rename.
Sascha Wildner [Mon, 14 Dec 2009 02:55:41 +0000 (03:55 +0100)]
sleep.9: Adjust for serialize_sleep() -> zsleep() rename.

See ed3f6624e9093425dd733be90efc696df86c9e0e

Also, sync the MLINKS with the manual page.

4 years agokernel - Move MP lock inward, plus misc other stuff
Matthew Dillon [Sun, 13 Dec 2009 20:19:30 +0000 (12:19 -0800)]
kernel - Move MP lock inward, plus misc other stuff

* Remove the MPSAFE flag from the syscalls.master file.  All system calls
  are now called without the MP lock held and will acquire the MP lock if
  necessary.

* Shift the MP lock inward.  Try to leave most copyin/copyout operations
  outside the MP lock.  Reorder some of the copyouts in the linux emulation
  code to suit.

  Kernel resource operations are MP safe.

  Process ucred access is now outside the MP lock but not quite MP safe
  yet (will be fixed in a followup).

* Remove unnecessary KKASSERT(p) calls left over from the time before
  system calls where prefixed with sys_*

* Fix a bunch of cases in the linux emulation code when setting groups
  where the ngrp range check is incorrect.

4 years agoRemove misleading comments
Michael Neumann [Sun, 13 Dec 2009 20:15:09 +0000 (21:15 +0100)]
Remove misleading comments

4 years agoHAMMER - Stabilize and refactor volume removal
Michael Neumann [Sun, 13 Dec 2009 18:56:55 +0000 (19:56 +0100)]
HAMMER - Stabilize and refactor volume removal

* Correctly handle already freed layer1 entries.
* Correclty avoid reallocation on the volume to be removed
  during reblocking.
* Erase volume header after removal so that trying to mount it
  afterwards will fail (otherwise mount will silently use it).

4 years agolibc: Some warning fixes.
Sascha Wildner [Sun, 13 Dec 2009 18:26:08 +0000 (19:26 +0100)]
libc: Some warning fixes.

4 years agoSync libc's un-namespace.h with namespace.h.
Sascha Wildner [Sun, 13 Dec 2009 16:19:57 +0000 (17:19 +0100)]
Sync libc's un-namespace.h with namespace.h.

4 years agoi386: sync k6_mem.c with FreeBSD
Alexander Polakov [Sat, 12 Dec 2009 10:10:39 +0000 (13:10 +0300)]
i386: sync k6_mem.c with FreeBSD

 * style(9)
 * replace strcmp() with cpu_vendor_id

4 years agoi386: sync i686_mem with FreeBSD
Alexander Polakov [Sat, 12 Dec 2009 09:33:21 +0000 (12:33 +0300)]
i386: sync i686_mem with FreeBSD

 * style cleanup
 * replace cpu_vendor with cpu_vendor_id
 * fix performance problem with some cpus
   (see http://svn.freebsd.org/viewvc/base?view=revision&revision=177125)
 * add constants for the various fields in MTRR registers
 * hide MTRR under bootverbose

4 years agoidentcpu.c: add PLCMULDQ, AES and VMM feature strings
Alexander Polakov [Sat, 12 Dec 2009 07:37:33 +0000 (10:37 +0300)]
identcpu.c: add PLCMULDQ, AES and VMM feature strings

4 years agoi386: sync identcpu with FreeBSD
Alexander Polakov [Sat, 12 Dec 2009 21:47:27 +0000 (00:47 +0300)]
i386: sync identcpu with FreeBSD

 * more feature strings
 * core/package detection (from x86_64)
 * replace cpu_vendor with cpu_vendor_id
 * move cpu identification variables declaration
   to initcpu.c

4 years agoHAMMER - Fix reblocking operation of volume removal
Michael Neumann [Sat, 12 Dec 2009 20:58:46 +0000 (21:58 +0100)]
HAMMER - Fix reblocking operation of volume removal

* Reblock everything
* Interruptable
* Sync before free L1/L2 entries (bigblocks might be reserved).
* Fix a bug (layer2->zone vs. layer2_zone)

4 years agoHAMMER VFS - Fix incorrect hammer_cursor_removed_node() call in btree_remove()
Matthew Dillon [Sat, 12 Dec 2009 18:50:22 +0000 (10:50 -0800)]
HAMMER VFS - Fix incorrect hammer_cursor_removed_node() call in btree_remove()

* hammer_cursor_removed_node() was being called on the wrong node.  This
  fixes a parent != NULL assertion later on.

* There is still at least one known issue where btree_iterate can panic
  due to a cursor tracking issue that has not yet been located.

4 years agoHAMMER - Fix panic when removing volume
Michael Neumann [Sat, 12 Dec 2009 13:02:03 +0000 (14:02 +0100)]
HAMMER - Fix panic when removing volume

* unload buffers before unloading volume

* fix missing call to hammer_rel_volume() which lead to
  kernel panic upon umount

4 years agoRemove inclusion of <sys/cdefs.h> from kernel .c files.
Sascha Wildner [Sat, 12 Dec 2009 12:05:15 +0000 (13:05 +0100)]
Remove inclusion of <sys/cdefs.h> from kernel .c files.

They are not needed and mostly leftovers from former __FBSDID and the
likes.

Also add some missing CVS ids to the comments.

4 years agoHAMMER - Stabilize volume removal
Michael Neumann [Sat, 12 Dec 2009 01:25:41 +0000 (02:25 +0100)]
HAMMER - Stabilize volume removal

* assert that L1 entries point to the volume

* don't leave the volume in an inconsistent state
  if it is not completely empty.

4 years agoFix typo
Michael Neumann [Sat, 12 Dec 2009 00:02:39 +0000 (01:02 +0100)]
Fix typo

4 years agoHAMMER - Fix umount flushing issue for volume-add/del
Michael Neumann [Sat, 12 Dec 2009 00:00:22 +0000 (01:00 +0100)]
HAMMER - Fix umount flushing issue for volume-add/del

Only changes to the header of the root volume are automatically
flushed to disk, changes to headers of other volumes not. Do it
manually.

4 years agoAdd hotplugd options to the default rc.conf and rc.conf.5.
Sascha Wildner [Fri, 11 Dec 2009 23:39:31 +0000 (00:39 +0100)]
Add hotplugd options to the default rc.conf and rc.conf.5.

4 years agoHAMMER - Implement experimental volume removal
Michael Neumann [Fri, 11 Dec 2009 21:59:21 +0000 (22:59 +0100)]
HAMMER - Implement experimental volume removal

A volume other than the root volume can be removed with:

    hammer volume-del device filesystem

WARNING: Experimental!

4 years agoKill T/TCP
Aggelos Economopoulos [Thu, 10 Dec 2009 19:36:55 +0000 (21:36 +0200)]
Kill T/TCP

T/TCP has serious security issues by design and has not
found widespread usage. Keeping it around is also a
maintenance burden.

4 years agotop - bring in "pid" sort order from freebsd module (N-KEY and option -o "pid").
Jan Lentfer [Thu, 10 Dec 2009 14:02:12 +0000 (15:02 +0100)]
top - bring in "pid" sort order from freebsd module (N-KEY and option -o "pid").
    - rework pointer casts in compare_* functions after netbsd module's pattern.

4 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Jan Lentfer [Thu, 10 Dec 2009 11:51:01 +0000 (12:51 +0100)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

4 years agomake.conf and make.conf.5: Remove obsolete TOP_TABLE_SIZE option.
Jan Lentfer [Thu, 10 Dec 2009 11:49:00 +0000 (12:49 +0100)]
make.conf and make.conf.5: Remove obsolete TOP_TABLE_SIZE option.

4 years agohotplug.4 & hotplugd.8: Some mdoc cleanup.
Sascha Wildner [Thu, 10 Dec 2009 08:58:15 +0000 (09:58 +0100)]
hotplug.4 & hotplugd.8: Some mdoc cleanup.

4 years agoRename "hammer expand" to "hammer volume-add"
Michael Neumann [Wed, 9 Dec 2009 22:34:18 +0000 (23:34 +0100)]
Rename "hammer expand" to "hammer volume-add"

Also rename the ioctl interface function accordingly.

NOTE:

  hammer expand fs device

changed to:

  hammer volume-add device fs

4 years agoFix argument order for netmsg_init().
Sascha Wildner [Wed, 9 Dec 2009 11:36:44 +0000 (12:36 +0100)]
Fix argument order for netmsg_init().

4 years agoActually hook hotplug.4 into the build.
Sascha Wildner [Wed, 9 Dec 2009 09:58:19 +0000 (10:58 +0100)]
Actually hook hotplug.4 into the build.

4 years agotop - enable full command line display.
Jan Lentfer [Tue, 8 Dec 2009 15:30:41 +0000 (16:30 +0100)]
top - enable full command line display.

4 years agoFix LINT kernel build.
Sascha Wildner [Tue, 8 Dec 2009 07:55:53 +0000 (08:55 +0100)]
Fix LINT kernel build.

Specifically, building with IPDIVERT & SMP was broken.

4 years agohammer: update Version 4 description
Thomas Nikolajsen [Mon, 7 Dec 2009 22:39:09 +0000 (23:39 +0100)]
hammer: update Version 4 description

4 years agoHAMMER VFS - Fix WIP
Matthew Dillon [Mon, 7 Dec 2009 19:59:10 +0000 (11:59 -0800)]
HAMMER VFS - Fix WIP

* Change WIP to 5 so hammer version-upgrade doesn't complain when upgrading
  to version 4 (which is no longer WIP).

Reported-by: Johannes Hofmann
4 years agoHAMMER Utility - Allow expanding root filesystems again
Michael Neumann [Mon, 7 Dec 2009 17:51:54 +0000 (18:51 +0100)]
HAMMER Utility - Allow expanding root filesystems again

This reverts commit e3102897c486b844e6a59e419e7e98a0d1ca3246, because
as of commit 104cb849cad1c21c8929f73d7654e16c4fb8a268, multi-volume
HAMMER root-mounts should work.

Please note that "hammer expand" is still considered EXPERIMENTAL.

4 years agoHAMMER - Implement multi-volume root mounts
Michael Neumann [Mon, 7 Dec 2009 17:18:45 +0000 (18:18 +0100)]
HAMMER - Implement multi-volume root mounts

4 years agodump - Unbreak VKERNELs
Alex Hornung [Mon, 7 Dec 2009 10:48:29 +0000 (10:48 +0000)]
dump - Unbreak VKERNELs

* VKERNELs don't support dumping, so add a dummy dumpsys() to indicate this
  on VKERNELs.

* hence also don't allocate vm_page_dump.

Reported-by: Simon "corecode" Schubert
4 years agotop(1): Remove top.x from CLEANFILES, since it's not generated.
Sascha Wildner [Mon, 7 Dec 2009 10:16:18 +0000 (11:16 +0100)]
top(1): Remove top.x from CLEANFILES, since it's not generated.

4 years agoHAMMER Utility - Refuse to expand the root filesystem
Matthew Dillon [Mon, 7 Dec 2009 06:56:30 +0000 (22:56 -0800)]
HAMMER Utility - Refuse to expand the root filesystem

* Refuse to expand a HAMMER filesystem mounted as the root filesystem.
  The DragonFly kernel is currently not able to mount a multi-volume
  HAMMER root.

Reported-by: Jan Lentfer <Jan.Lentfer@web.de>
4 years agoHAMMER Utility - Add -p <ssh-port> option
Matthew Dillon [Mon, 7 Dec 2009 04:28:36 +0000 (20:28 -0800)]
HAMMER Utility - Add -p <ssh-port> option

* Allows the ssh port for remote specification to be specified.  This
  option is passed as '-p <ssh-port>' to ssh invocations.

4 years agoloader.8: Bump .Dd and fix a manlint warning.
Sascha Wildner [Mon, 7 Dec 2009 02:26:30 +0000 (03:26 +0100)]
loader.8: Bump .Dd and fix a manlint warning.

4 years agoClean up BIND upgrade.
Sascha Wildner [Mon, 7 Dec 2009 02:09:43 +0000 (03:09 +0100)]
Clean up BIND upgrade.

Remove some auto-generated files which were accidentally added.

4 years agolibkvm - Update for new dumps & minidumps
Alex Hornung [Sun, 6 Dec 2009 19:57:03 +0000 (19:57 +0000)]
libkvm - Update for new dumps & minidumps

* Update libkvm so it will work with the new-style dumps and minidumps.

* If the ELF header of a core dump is not valid, assume it's an old style
  dump. This way we can still read old-style dumps after this update.

Obtained-from: FreeBSD

4 years agosavecore - Update savecore to work with new dumps/minidumps
Alex Hornung [Sun, 6 Dec 2009 19:55:51 +0000 (19:55 +0000)]
savecore - Update savecore to work with new dumps/minidumps

* Update savecore so it can save the new ELF dumps and minidumps.

Obtained-from: FreeBSD

4 years agodump - Make use of the new dumping
Alex Hornung [Sun, 6 Dec 2009 19:52:58 +0000 (19:52 +0000)]
dump - Make use of the new dumping

* Adapt our dumping infrastructure to the new dump type.

* Update all disk/raid dump methods (except aac) to work with the new
  dumps. These now don't take matters into their own hands and just write
  what they are told to.

4 years agodump - Bring in FreeBSD's dumping (new dumps & minidumps)
Alex Hornung [Sun, 6 Dec 2009 19:48:53 +0000 (19:48 +0000)]
dump - Bring in FreeBSD's dumping (new dumps & minidumps)

* Bring in FreeBSD's dumps and minidumps, which use an ELF header instead of
  a raw dump.

* Adapt to our needs by, for example, saving the dumppcb and dumpthread.

Obtained-from: FreeBSD

4 years agopmap - Change pmap_map syntaxis
Alex Hornung [Sun, 6 Dec 2009 19:44:26 +0000 (19:44 +0000)]
pmap - Change pmap_map syntaxis

* Change pmap_map syntaxis to take a pointer to vm_offset_t, so the vaddr is
  modified when memory is mapped.

* Hence also don't return the modified vaddr, but rather return the mapped
  memory.

* This unifies the syntax for the different platforms, as on amd64, pmap_map
  returned the mapped area, instead of the changed vaddr.

* Modify vm_page.c accordingly, and also set aside some memory that minidumps
  need.

4 years agolentferj - commit test.
Jan Lentfer [Sun, 6 Dec 2009 09:33:44 +0000 (10:33 +0100)]
lentferj - commit test.

4 years agonetwork - Fix SMP build
Sascha Wildner [Sun, 6 Dec 2009 07:55:00 +0000 (08:55 +0100)]
network - Fix SMP build

Reported-by: lentferj
4 years agonetwork - Fix UP build
Matthew Dillon [Sun, 6 Dec 2009 05:54:39 +0000 (21:54 -0800)]
network - Fix UP build

Reported-by: Sascha Wildner <saw@online.de>
4 years agonetwork - Move socket from netmsg ext to netmsg header, add port to socket
Matthew Dillon [Sat, 5 Dec 2009 19:45:34 +0000 (11:45 -0800)]
network - Move socket from netmsg ext to netmsg header, add port to socket

These changes should make it easier to debug mbufs routed to the wrong
protocol threads.  Note that IPV6 is routed to netisr0, even for tcp and udp
packets, so for now we do not KKASSERT that the port matches directly.

The TCP code still KKASSERTs that the timers are running on the correct cpu,
since the cpu is still correct for IPV6 TCP/UDP packets even when the
protocol thread is wrong (netisr_cpu 0 instead of tcp_thread 0 or
udp_thread 0).

* Instead of recalculating the port based on the inp or mbuf all the time,
  add a so_port field to the socket structure directly.

* The socket pointer is now part of the netmsg header, even though some
  subsystems do not need it.  This allows us to validate the message port
  more easily.

4 years agodevelopment.7: Add style(9) xref and a pointer to dragonfly.el.
Sascha Wildner [Sat, 5 Dec 2009 19:37:22 +0000 (20:37 +0100)]
development.7: Add style(9) xref and a pointer to dragonfly.el.

4 years agoMove tools/tools/editing/dragonfly.el to share/misc.
Sascha Wildner [Sat, 5 Dec 2009 19:30:33 +0000 (20:30 +0100)]
Move tools/tools/editing/dragonfly.el to share/misc.

4 years agoAdd a profile for indent(1) which matches our style quite well.
Sascha Wildner [Sat, 5 Dec 2009 18:51:28 +0000 (19:51 +0100)]
Add a profile for indent(1) which matches our style quite well.

Adapted-from: NetBSD

4 years agoClean up some Makefiles (let the user decide which options they want).
Sascha Wildner [Sat, 5 Dec 2009 18:14:19 +0000 (19:14 +0100)]
Clean up some Makefiles (let the user decide which options they want).

4 years agoMerge commit 'lentferj/top_update'
Aggelos Economopoulos [Sat, 5 Dec 2009 17:57:01 +0000 (19:57 +0200)]
Merge commit 'lentferj/top_update'

4 years agotop - correctly prototype compare_* functions. Remove debug option from Makefile.
Jan Lentfer [Sat, 5 Dec 2009 17:41:19 +0000 (18:41 +0100)]
top - correctly prototype compare_* functions. Remove debug option from Makefile.

4 years agoHAMMER VFS - Change default from version 3 to version 4
Matthew Dillon [Sat, 5 Dec 2009 17:20:27 +0000 (09:20 -0800)]
HAMMER VFS - Change default from version 3 to version 4

* Version 4 is now the default for newfs_hammer and is no longer
  considered a work in progress.

* Filesystems may be upgraded to version 4 in-place.  The UNDO FIFO
  (typically 1G) is reformatted so the upgrade might take a minute or
  two depending.

* Version 4 allows the UNDO FIFO to be flushed without also having
  to flush the volume header, removing 2 of the 4 disk syncs typically
  required for an fsync() and removing 1 of the 2 disk syncs typically
  required for a flush sequence.

  This is accomplished by adding a sequence number of the UNDO entries
  in the FIFO and preventing them from crossing a 512-byte boundary,
  so each 512-byte block starts with an entry.  HAMMER's mount code
  is then able to scan the UNDO FIFO to determine the start and end
  for recovery purposes.

* Version 4 implements the infrastructure needed for REDO, but does not
  implement any REDO operations.

4 years agotop - style cleanup and removal of unnecessary code
Jan Lentfer [Sat, 5 Dec 2009 16:58:45 +0000 (17:58 +0100)]
top - style cleanup and removal of unnecessary code

4 years agoImport hotplugd(8) from OpenBSD.
Alexander Polakov [Fri, 4 Dec 2009 22:32:26 +0000 (01:32 +0300)]
Import hotplugd(8) from OpenBSD.

4 years agoImport hotplug(4) pseudo-device.
Alexander Polakov [Fri, 4 Dec 2009 21:43:14 +0000 (00:43 +0300)]
Import hotplug(4) pseudo-device.

Obtained-from: OpenBSD.

4 years agokernel - Fix recursive lockmgr lock panic when creating a hardlink
Matthew Dillon [Fri, 4 Dec 2009 22:32:48 +0000 (14:32 -0800)]
kernel - Fix recursive lockmgr lock panic when creating a hardlink

* HAMMER uses non-recursive vnode locks.  Fix a case where attempting
  to hardlink A to B where both already exist and point to the same
  inode can result in a panic if B is not in the namecache.

  HAMMER must temporarily lock the vnode it returns in the resolver
  and kern_link() was already holding A locked.  This all occurs
  before kern_link() is able to check whether A and B are the same
  so it can't be avoided.

  Solve the problem by unlocking A while resolving B.

Reported-by: Goetz Isenmann <info@goetz-isenmann.de>
4 years agoMerge commit 'lentferj/top_update'
Aggelos Economopoulos [Fri, 4 Dec 2009 22:27:49 +0000 (00:27 +0200)]
Merge commit 'lentferj/top_update'

4 years agotop - Import DragonFly specific patches for 3.8beta1.
Jan Lentfer [Fri, 4 Dec 2009 21:21:59 +0000 (22:21 +0100)]
top - Import DragonFly specific patches for 3.8beta1.
       * fix commands.c renice function to prevent segfault on wrong number of parameters.

4 years agoHAMMER VFS - Fix bug in statvfs()
Matthew Dillon [Thu, 3 Dec 2009 23:13:02 +0000 (15:13 -0800)]
HAMMER VFS - Fix bug in statvfs()

* statvfs() had a coding error which caused it to return 0 free space
  until the first statfs() call was made.

Reported-by: Johannes Hofmann <johannes.hofmann@gmx.de>
4 years agosysperf /call-loop test - Ensure the nop() call is not optimized out
Matthew Dillon [Thu, 3 Dec 2009 23:11:47 +0000 (15:11 -0800)]
sysperf /call-loop test - Ensure the nop() call is not optimized out

4 years agovkernel test - Add a NFS root / boot feature to the vkernel test environment
Matthew Dillon [Thu, 3 Dec 2009 23:09:12 +0000 (15:09 -0800)]
vkernel test - Add a NFS root / boot feature to the vkernel test environment

* Add a NFS root / boot feature to the vkernel test environment.  By
  default set IP to 10.0.0.53 and mount the root from 10.0.0.1:/netboot2,
  using overridable make variables.

4 years agohammer utility - minor adjustment to snaprm
Matthew Dillon [Thu, 3 Dec 2009 23:04:25 +0000 (15:04 -0800)]
hammer utility - minor adjustment to snaprm

* Allow the removal of snapshots with a transaction id of 0.  Such
  snapshots are a degenerate case which can occur only during testing.