dragonfly.git
12 years agoAllow -q to take an argument (which is ignored) and add fake -O option to
Matthias Schmidt [Sun, 3 Feb 2008 18:41:40 +0000 (18:41 +0000)]
Allow -q to take an argument (which is ignored) and add fake -O option to
make dma(8) more sendmail(8) compatible and some startup scripts happy.

Reported-by: swildner@
12 years agoRemove leading 0 in .Dd.
Sascha Wildner [Sun, 3 Feb 2008 18:02:42 +0000 (18:02 +0000)]
Remove leading 0 in .Dd.

12 years agoIt's actually postfix(1).
Sascha Wildner [Sun, 3 Feb 2008 18:02:12 +0000 (18:02 +0000)]
It's actually postfix(1).

12 years agoRemove code accessing debug registers from vkernel platform to avoid crashes:
Nicolas Thery [Sun, 3 Feb 2008 15:10:26 +0000 (15:10 +0000)]
Remove code accessing debug registers from vkernel platform to avoid crashes:
these registers are available in privileged mode only but the vkernel runs in
user mode (issue 831).

12 years agoStore some empty magazines in depot at objcache creation time. Without this,
Nicolas Thery [Sun, 3 Feb 2008 13:37:56 +0000 (13:37 +0000)]
Store some empty magazines in depot at objcache creation time.  Without this,
objects move between per-cpu caches and the underlying allocator without ever
hitting the depot.

Code-collaboration-with: Matthew Dillon <dillon@backplane.com>

12 years agoWork around a `label defined but not used' warning in *generated* code.
Simon Schubert [Sun, 3 Feb 2008 13:14:12 +0000 (13:14 +0000)]
Work around a `label defined but not used' warning in *generated* code.

Obtained-from:  FreeBSD

12 years agoFixed typo in penultimate revision.
Nicolas Thery [Sun, 3 Feb 2008 13:10:36 +0000 (13:10 +0000)]
Fixed typo in penultimate revision.

12 years agoFix some compiler warnings and make dma(8) compile clean on FreeBSD. Commit
Matthias Schmidt [Sun, 3 Feb 2008 11:06:17 +0000 (11:06 +0000)]
Fix some compiler warnings and make dma(8) compile clean on FreeBSD.  Commit
submitted patch with minor modifications.

Submitted-by: Xin LI <delphij@delphij.net>
12 years agoSCO sysctls are implemented now in ubt(4).
Hasso Tepper [Sun, 3 Feb 2008 06:33:00 +0000 (06:33 +0000)]
SCO sysctls are implemented now in ubt(4).

12 years agoImplement SCO related sysctls.
Hasso Tepper [Sun, 3 Feb 2008 06:27:48 +0000 (06:27 +0000)]
Implement SCO related sysctls.

Obtained-from: NetBSD with modifications

12 years agoRemove wicontrol(8) references.
Sascha Wildner [Sun, 3 Feb 2008 02:14:48 +0000 (02:14 +0000)]
Remove wicontrol(8) references.

12 years agoRemove unused variable.
Sascha Wildner [Sun, 3 Feb 2008 00:41:44 +0000 (00:41 +0000)]
Remove unused variable.

12 years agoFix buildworld: add -I${.CURDIR} so aliases_parse.c can find dma.h.
Sascha Wildner [Sat, 2 Feb 2008 23:57:35 +0000 (23:57 +0000)]
Fix buildworld: add -I${.CURDIR} so aliases_parse.c can find dma.h.

12 years agoFix messages: s/installer_fetch/installer fetch/
Sascha Wildner [Sat, 2 Feb 2008 19:23:24 +0000 (19:23 +0000)]
Fix messages: s/installer_fetch/installer fetch/

12 years agoRemove leading zero in .Dd.
Sascha Wildner [Sat, 2 Feb 2008 18:43:46 +0000 (18:43 +0000)]
Remove leading zero in .Dd.

12 years agoMention /etc/dma and /var/spool/dma.
Matthias Schmidt [Sat, 2 Feb 2008 18:25:26 +0000 (18:25 +0000)]
Mention /etc/dma and /var/spool/dma.

12 years agoAdd the dma(8) config files to the system.
Matthias Schmidt [Sat, 2 Feb 2008 18:24:00 +0000 (18:24 +0000)]
Add the dma(8) config files to the system.

12 years agoAdd the DragonFly Mail Agent dma(8) to the base.
Matthias Schmidt [Sat, 2 Feb 2008 18:20:51 +0000 (18:20 +0000)]
Add the DragonFly Mail Agent dma(8) to the base.

dma is a small Mail Transport Agent (MTA), designed for home and office
use.  It accepts mails from locally installed Mail User Agents (MUA) and
delivers the mails either locally or to a remote destination.  Remote
delivery includes several features like TLS/SSL support and SMTP authen-
tication (AUTH LOGIN only).

dma is not intended as a replacement for real, big MTAs like sendmail(8)
or postfix(8).  Consequently, dma does not listen on port 25 for incoming
connections.

Current list of features:
- Local mail delivery with alias-support
- Remote mail delivery either direct or via a smarthost
- TLS/SSL and STARTTLS support for encrypted connections
- virtualusers (address rewriting) support
- SMTP authentication (currently only plain SMTP login)
- Sendmail compatible command line options
- IPv6 support

Code-collaboration-with: codecode@
Man-page-collaboration-with: swildner@
Approved-by: dillon@
12 years agoUse .Er for errnos.
Sascha Wildner [Sat, 2 Feb 2008 12:54:49 +0000 (12:54 +0000)]
Use .Er for errnos.

12 years agoRemove stale references.
Sascha Wildner [Sat, 2 Feb 2008 12:53:01 +0000 (12:53 +0000)]
Remove stale references.

12 years agoAdd gx and ray modules.
Sascha Wildner [Sat, 2 Feb 2008 11:22:09 +0000 (11:22 +0000)]
Add gx and ray modules.

12 years agoSilence warnings.
Sascha Wildner [Sat, 2 Feb 2008 09:21:24 +0000 (09:21 +0000)]
Silence warnings.

12 years agoComment out .El as well.
Sascha Wildner [Sat, 2 Feb 2008 09:19:54 +0000 (09:19 +0000)]
Comment out .El as well.

12 years agoRemove trailing space.
Sascha Wildner [Fri, 1 Feb 2008 22:22:24 +0000 (22:22 +0000)]
Remove trailing space.

12 years agoAdjust date for bthcid(8) variables.
Sascha Wildner [Fri, 1 Feb 2008 22:11:11 +0000 (22:11 +0000)]
Adjust date for bthcid(8) variables.

12 years agoFix various manpage nits.
Sascha Wildner [Fri, 1 Feb 2008 21:40:53 +0000 (21:40 +0000)]
Fix various manpage nits.

12 years agoMention SIGUSR1 in debugging section.
Nicolas Thery [Fri, 1 Feb 2008 21:01:45 +0000 (21:01 +0000)]
Mention SIGUSR1 in debugging section.

12 years agoRegenerate the pciconf(8) database from the following files:
Sascha Wildner [Fri, 1 Feb 2008 19:56:51 +0000 (19:56 +0000)]
Regenerate the pciconf(8) database from the following files:

Hart:    Jan 22, 2008 (version 671)
Boemler: Feb  1, 2007

12 years agoComplete the driver removal from sepe@ and remove the leftovers with next
Matthias Schmidt [Fri, 1 Feb 2008 14:39:56 +0000 (14:39 +0000)]
Complete the driver removal from sepe@ and remove the leftovers with next
make upgrade.

12 years agoAdd bluetooth(4) manpage.
Hasso Tepper [Fri, 1 Feb 2008 14:22:03 +0000 (14:22 +0000)]
Add bluetooth(4) manpage.

Obtained-from: NetBSD

12 years agoImplement net.bluetooth sysctls.
Hasso Tepper [Fri, 1 Feb 2008 14:18:58 +0000 (14:18 +0000)]
Implement net.bluetooth sysctls.

Obtained-from: NetBSD

12 years agoNuke raycontrol(8)
Sepherosa Ziehau [Fri, 1 Feb 2008 13:52:41 +0000 (13:52 +0000)]
Nuke raycontrol(8)

12 years agoAdd lists of product names to the man page. With these lists its easier
Matthias Schmidt [Fri, 1 Feb 2008 13:28:32 +0000 (13:28 +0000)]
Add lists of product names to the man page.  With these lists its easier
to see if your product supports features like jumbo frames/etc or not.

Reviewed-by: sephe@
12 years agoNuke following outdated drivers
Sepherosa Ziehau [Fri, 1 Feb 2008 13:18:49 +0000 (13:18 +0000)]
Nuke following outdated drivers
ray(4): FH only wireless NIC driver
awi(4): 802.11 (read: not even 802.11b) and FH wireless NIC driver
gx(4): replaced by em(4) and unmaintained for quite a long time

12 years agoShort manpage for ubt(4). Most of it is commented out for now because sco
Hasso Tepper [Fri, 1 Feb 2008 12:24:40 +0000 (12:24 +0000)]
Short manpage for ubt(4). Most of it is commented out for now because sco
link related sysctl's are not yet implemented in our driver.

Obtained-from: NetBSD

12 years agoNuke the ntpd(8).
Hasso Tepper [Fri, 1 Feb 2008 09:05:29 +0000 (09:05 +0000)]
Nuke the ntpd(8).

Approved-by: dillon@
12 years agoMore wicontrol(8) removal.
Hasso Tepper [Fri, 1 Feb 2008 08:39:58 +0000 (08:39 +0000)]
More wicontrol(8) removal.

12 years agoNuke wicontrol(8).
Hasso Tepper [Fri, 1 Feb 2008 08:18:36 +0000 (08:18 +0000)]
Nuke wicontrol(8).

Approved-by: sephe@
12 years agoOnly build nm.h if necessary. GC tm.h and xm.h.
Simon Schubert [Thu, 31 Jan 2008 21:59:06 +0000 (21:59 +0000)]
Only build nm.h if necessary.  GC tm.h and xm.h.

12 years agoAdapt the amd64 kgdb for the new gdb.
Simon Schubert [Thu, 31 Jan 2008 14:30:52 +0000 (14:30 +0000)]
Adapt the amd64 kgdb for the new gdb.

12 years agoRemove tm.h and xm.h handling, as it wasn't used. Use nm.h only when needed.
Simon Schubert [Thu, 31 Jan 2008 14:30:13 +0000 (14:30 +0000)]
Remove tm.h and xm.h handling, as it wasn't used.  Use nm.h only when needed.

12 years agoHard code the register offsets instead of deriving them at compile time.
Simon Schubert [Thu, 31 Jan 2008 14:28:57 +0000 (14:28 +0000)]
Hard code the register offsets instead of deriving them at compile time.

12 years agoAdjust README.
Simon Schubert [Thu, 31 Jan 2008 13:47:58 +0000 (13:47 +0000)]
Adjust README.

12 years agoMerge from vendor branch GDB:
Simon Schubert [Thu, 31 Jan 2008 13:46:41 +0000 (13:46 +0000)]
Merge from vendor branch GDB:
Resurrect deleted file.

12 years agoResurrect deleted file.
Simon Schubert [Thu, 31 Jan 2008 13:46:41 +0000 (13:46 +0000)]
Resurrect deleted file.

12 years agoRename HAMMER to HAMMER_CPU (like I686_CPU) to not conflict with the
Sascha Wildner [Thu, 31 Jan 2008 11:48:55 +0000 (11:48 +0000)]
Rename HAMMER to HAMMER_CPU (like I686_CPU) to not conflict with the
kernel option for the HAMMER filesystem.

12 years agoAdd missing manpage name.
Sascha Wildner [Thu, 31 Jan 2008 08:25:12 +0000 (08:25 +0000)]
Add missing manpage name.

12 years agoAddress a potential weakness in IBAA. The generator needs to be warmed up
Matthew Dillon [Wed, 30 Jan 2008 19:28:02 +0000 (19:28 +0000)]
Address a potential weakness in IBAA.  The generator needs to be warmed up
after seeding to remove potentially weak initial states.  Also address a
potential weakness in L15.  References follow.

http://www.leopard.uk.com
http://www.burtleburtle.net/bob/rand/isaac.html

Submitted-by: Robin Carey <robin_carey5@yahoo.co.uk>
12 years agoDocument bthcid(8) related variables in rc.conf(5).
Hasso Tepper [Wed, 30 Jan 2008 18:55:43 +0000 (18:55 +0000)]
Document bthcid(8) related variables in rc.conf(5).

12 years agoAdd rfcomm_sppd(1) - RFCOMM Serial Port Profile daemon.
Hasso Tepper [Wed, 30 Jan 2008 14:25:35 +0000 (14:25 +0000)]
Add rfcomm_sppd(1) - RFCOMM Serial Port Profile daemon.

Obtained-from: NetBSD

12 years agoAdd bthcid(8) - Bluetooth Link Key/PIN Code Manager and btpin(1) Bluetooth
Hasso Tepper [Wed, 30 Jan 2008 14:10:19 +0000 (14:10 +0000)]
Add bthcid(8) - Bluetooth Link Key/PIN Code Manager and btpin(1) Bluetooth
PIN utility.

Obtained-from: NetBSD with modifications

12 years agoBuild libevent.
Hasso Tepper [Wed, 30 Jan 2008 12:57:50 +0000 (12:57 +0000)]
Build libevent.

12 years agoAdd READMEs.
Hasso Tepper [Wed, 30 Jan 2008 12:52:45 +0000 (12:52 +0000)]
Add READMEs.

12 years agoMerge from vendor branch LIBEVENT:
Hasso Tepper [Wed, 30 Jan 2008 12:35:18 +0000 (12:35 +0000)]
Merge from vendor branch LIBEVENT:
Import libevent-1.3e.

12 years agoImport libevent-1.3e. vendor/LIBEVENT
Hasso Tepper [Wed, 30 Jan 2008 12:35:18 +0000 (12:35 +0000)]
Import libevent-1.3e.

12 years agoBump date for -l.
Sascha Wildner [Wed, 30 Jan 2008 12:35:07 +0000 (12:35 +0000)]
Bump date for -l.

12 years agoFix building with CPU_DISABLE_SSE (this fixes LINT building).
Sascha Wildner [Wed, 30 Jan 2008 11:57:09 +0000 (11:57 +0000)]
Fix building with CPU_DISABLE_SSE (this fixes LINT building).

12 years agoAdd '-l' support to vnconfig(8) and supporting VNGET ioctl to vn(4).
Chris Turner [Wed, 30 Jan 2008 11:46:33 +0000 (11:46 +0000)]
Add '-l' support to vnconfig(8) and supporting VNGET ioctl to vn(4).

Inspired-by: OpenBSD (with updates to vnconfig -l UI & swap support)
12 years agoConditionalize the illegal MXCSR tests on SSE support. Machines that did
Matthew Dillon [Tue, 29 Jan 2008 19:55:00 +0000 (19:55 +0000)]
Conditionalize the illegal MXCSR tests on SSE support.  Machines that did
not support SSE were improperly reporting MXCSR violations.

Finish implementing SSE support in the vkernel (not well tested).

Reported-by: ejc <eric.j.christeson@gmail.com>
12 years agoo Update dd(1) to accept capital letters (B, K, M, G) as size modifiers.
Matthias Schmidt [Mon, 28 Jan 2008 16:08:02 +0000 (16:08 +0000)]
o Update dd(1) to accept capital letters (B, K, M, G) as size modifiers.
o Remove the 3rd clause of the Berkeley license while here.

12 years agoMinor cosmetic change to the USB devices lists.
Matthias Schmidt [Mon, 28 Jan 2008 14:57:52 +0000 (14:57 +0000)]
Minor cosmetic change to the USB devices lists.

Reviewed-by: hasso@, swildner@
12 years agoFix spurious "softdep_deallocate_dependencies: dangling deps" panic occuring
Nicolas Thery [Mon, 28 Jan 2008 07:19:06 +0000 (07:19 +0000)]
Fix spurious "softdep_deallocate_dependencies: dangling deps" panic occuring
on low memory condition.

Add assertion to catch similar bugs automagically.

Reported-by: Peter Avalos <pavalos@theshell.com>
Reviewed-by: Matthew Dillon <dillon@backplane.com>
12 years agoRemove objcache from allobjcaches when cache destroyed.
Nicolas Thery [Sun, 27 Jan 2008 22:32:57 +0000 (22:32 +0000)]
Remove objcache from allobjcaches when cache destroyed.

Turn allobjcaches into double-linked list for fast removal.

12 years agoReference wiki version of handbook to be in line with similar change done to
Nicolas Thery [Sun, 27 Jan 2008 09:08:39 +0000 (09:08 +0000)]
Reference wiki version of handbook to be in line with similar change done to
web site recently.

12 years agoSort alphabetically.
Sascha Wildner [Sun, 27 Jan 2008 06:24:57 +0000 (06:24 +0000)]
Sort alphabetically.

12 years agoList all USB drivers along with a short description.
Sascha Wildner [Sun, 27 Jan 2008 05:19:13 +0000 (05:19 +0000)]
List all USB drivers along with a short description.

Suggested-by: hasso
12 years agoAdd dot (.) forgotten in last commit.
Matthias Schmidt [Sat, 26 Jan 2008 17:20:56 +0000 (17:20 +0000)]
Add dot (.) forgotten in last commit.

Noticed-by: swildner@
12 years agoMention wpa_supplicant(8) and wpa_supplicant.conf(5) if a user adds WPA
Matthias Schmidt [Sat, 26 Jan 2008 17:12:36 +0000 (17:12 +0000)]
Mention wpa_supplicant(8) and wpa_supplicant.conf(5) if a user adds WPA
keyword to an ifconfig_$foo line.

12 years agoOops, wrong year.
Sascha Wildner [Sat, 26 Jan 2008 16:33:18 +0000 (16:33 +0000)]
Oops, wrong year.

12 years agoIn SEE ALSO, mark references to pkgsrc manual pages as such.
Sascha Wildner [Sat, 26 Jan 2008 15:14:41 +0000 (15:14 +0000)]
In SEE ALSO, mark references to pkgsrc manual pages as such.

12 years agoBring in some fixes from FreeBSD.
Sascha Wildner [Sat, 26 Jan 2008 14:33:16 +0000 (14:33 +0000)]
Bring in some fixes from FreeBSD.

12 years agopbm(5) is part of pkgsrc/graphics/netpbm.
Sascha Wildner [Sat, 26 Jan 2008 14:17:27 +0000 (14:17 +0000)]
pbm(5) is part of pkgsrc/graphics/netpbm.

12 years agoAdd lldiv_t and a prototype for lldiv().
Sascha Wildner [Fri, 25 Jan 2008 23:32:41 +0000 (23:32 +0000)]
Add lldiv_t and a prototype for lldiv().

Submitted-by: Rumko <rumcic@gmail.com>
Taken-from:   FreeBSD

12 years agoAdd lldiv() and imaxdiv() to libc.
Sascha Wildner [Fri, 25 Jan 2008 23:24:31 +0000 (23:24 +0000)]
Add lldiv() and imaxdiv() to libc.

Submitted-by: Rumko <rumcic@gmail.com>
Taken-from:   FreeBSD

12 years agoHAMMER utilities: synchronize newfs_hammer.
Matthew Dillon [Fri, 25 Jan 2008 21:52:10 +0000 (21:52 +0000)]
HAMMER utilities: synchronize newfs_hammer.

* Assign the proper left boundary for the root cluster

* Sync up with an API change made in the hammer utilities sources.

12 years agoHAMMER 24B/many: Edge cases, cleanups
Matthew Dillon [Fri, 25 Jan 2008 21:50:56 +0000 (21:50 +0000)]
HAMMER 24B/many: Edge cases, cleanups

* Use create_tid instead of delete_tid in B-Tree key comparisons.  I
  actually used create_tid's originally, then switched to delete_tid's
  because historical searches could iterate forwards to locate
  matching records whereas using create_tid required a backwards
  iteration.

  However, because delete_tid's can be modified in-place (0 -> delete stamp),
  this introduced some rare edges cases that I had not considered.

  So go back to using create_tid's.  The iteration code actually just does
  a re-search now with a slightly different key, so no new code had
  to be written for the reverse-direction.  Create TIDs do not change once
  they are laid down so there are no additional cases to consider.

* Fix a missing create_tid initialization in hammer_object.c.

12 years ago- It does not make sense to use "for (;cond;)", use "while (cond)" instead
Sepherosa Ziehau [Fri, 25 Jan 2008 15:44:49 +0000 (15:44 +0000)]
- It does not make sense to use "for (;cond;)", use "while (cond)" instead
- Bark out loud, if hardware gives us wrong encryption done index

12 years agoSet 2560 part default txpower to 24dBm. This value works _much_ better then
Sepherosa Ziehau [Fri, 25 Jan 2008 15:09:42 +0000 (15:09 +0000)]
Set 2560 part default txpower to 24dBm.  This value works _much_ better then
30dBm (default channel TX power stored in EEPROM) under most cases.

12 years agoral(4) for 2560 part does not support hardware WEP (yet)
Sepherosa Ziehau [Fri, 25 Jan 2008 14:47:52 +0000 (14:47 +0000)]
ral(4) for 2560 part does not support hardware WEP (yet)

12 years agoThere are actually two TX queues for 2560 parts, so add two softc private
Sepherosa Ziehau [Fri, 25 Jan 2008 14:43:10 +0000 (14:43 +0000)]
There are actually two TX queues for 2560 parts, so add two softc private
flags which are used to mark that the TX queues are "over active".  Clear
IFF_OACTIVE iff all of the private OACT flags are off.

12 years agoDon't reset watchdog timeout value, if there are still TX descs pending
Sepherosa Ziehau [Fri, 25 Jan 2008 14:26:14 +0000 (14:26 +0000)]
Don't reset watchdog timeout value, if there are still TX descs pending
on either data queue or prio(management) queue.

12 years agoHAMMER 25/many: get fsx (filesystem test) working, cleanup pass
Matthew Dillon [Fri, 25 Jan 2008 10:36:04 +0000 (10:36 +0000)]
HAMMER 25/many: get fsx (filesystem test) working, cleanup pass

* Fix buffer alignment in the write strategy code.  Assert buffer alignment
  in hammer_ip_sync_data().

* Finish implementing file truncation.  There's probably still an edge case
  or two related to B_CACHE on terminal filesystem buffers when expanding
  a file.

* Pass VCHR vnodes through to fsync so the inode data syncs properly.  It
  was previously only syncing on umount or OS flushes.

* Change a bunch of debugging kprintf's to only print if a debug variable is
  set.  Reduce the debugging output considerably.

* Test FSX using both a full historical mount and a nohistory mount.

12 years ago- Correct false CCA based RX sensitivity tuning.
Sepherosa Ziehau [Fri, 25 Jan 2008 09:39:52 +0000 (09:39 +0000)]
- Correct false CCA based RX sensitivity tuning.
- Add comment about relationship between bbp17 and RX sensitivity.
- Add comment about RX sensitivity dynamic tuning mechanism.

12 years agoAdd sysctl node to set RX sensitivity, useful when operating in non-STA mode,
Sepherosa Ziehau [Fri, 25 Jan 2008 08:57:36 +0000 (08:57 +0000)]
Add sysctl node to set RX sensitivity, useful when operating in non-STA mode,
i.e. RX sensitivity calibration can't be used.

12 years agoSpeed up uhub attachment considerably. Rather than powering up each port
Hasso Tepper [Fri, 25 Jan 2008 08:49:47 +0000 (08:49 +0000)]
Speed up uhub attachment considerably. Rather than powering up each port
individually then waiting for it to become stable, power them up all
at once and then delay. Don't even bother delaying if we are a root hub,
as this is handled separately in the event thread.

My laptop boot time is cut down from 30 sec to 25 sec with this change.

Obtained-from: OpenBSD via NetBSD

12 years agoHAMMER utilities: Add a verbose (-v) option.
Matthew Dillon [Fri, 25 Jan 2008 05:53:41 +0000 (05:53 +0000)]
HAMMER utilities: Add a verbose (-v) option.

12 years agoHAMMER 24/many: Clean up edge cases
Matthew Dillon [Fri, 25 Jan 2008 05:49:08 +0000 (05:49 +0000)]
HAMMER 24/many: Clean up edge cases

Hammer now survives many cpdup/rm-rf loops with recovery forced on.

* Fix an edge case with historical lookups.  When pushing down through a
  spike an exact match on a SPIKE_END element is no guarantee of success,
  so check for and flag the delete boundary in that case.

* Delay physical cluster deletions (marking the cluster as free in the
  Volume's A-list) until the last ref on the cluster goes away.

* Fix a race between cluster deletion, filesystem sync, and recovery.
  Do not attempt to recover a cluster marked as undergoing deletion.

* Enable cluster recovery by default.  It is still fairly primitive but
  it should work well enough to put the filesystem in a working state
  once the remaining debug shims are removed.

* Clean up sequencing of io->modified to ensure that clusters are properly
  closed during normal operation.  Recovery operations should only occur
  when encountering an open cluster after a crash.

* Do not open a cluster or create a cluster->buffer dependancy when only
  updating the mtime or atime of an inode.

* In the hammer_sync_*() procedures, ref the volume/cluster prior to
  scanning its RB tree, use hammer_ref() instead of hammer_ref_*() to
  avoid unnecessary loads.  This also fixes a stale pointer bug in the
  same code.

* Remove the stack recursion in btree_remove().  btree_remove() is now able
  to clean up empty nodes going all the way up the tree (at least until it
  hits a deadlock, which is not yet handled).

* Fix primary filesystem statistics (they were getting off because
  whole clusters were being deleted without bothering to free up internal
  on-disk structures).

* Fix a minor bug in the cluster's stat_records tracking field.  'df' no
  longer shows a bleeding capacity.  Statistics will still get off due
  to crashes and such (the balancer will probably have to deal with that).

* Add more assertions.  How do you debug complex code?  You assert that
  everything is in its proper state, everywhere you can.

12 years agoIn __cursignb, always return FALSE if there is no signal pending for the
Nuno Antunes [Thu, 24 Jan 2008 22:35:14 +0000 (22:35 +0000)]
In __cursignb, always return FALSE if there is no signal pending for the
lwp, regardless if the lwp is being traced or not.

Dragonfly-bug: 926
Submitted-by: corecode@
Approved-by: dillon@
12 years agotesting.
Nuno Antunes [Thu, 24 Jan 2008 22:26:17 +0000 (22:26 +0000)]
testing.

12 years agoRemove references to non-existant opiechallenge(3).
Sascha Wildner [Thu, 24 Jan 2008 17:14:19 +0000 (17:14 +0000)]
Remove references to non-existant opiechallenge(3).

12 years agoHAMMER utilities: Features and sync with VFS.
Matthew Dillon [Thu, 24 Jan 2008 02:16:47 +0000 (02:16 +0000)]
HAMMER utilities: Features and sync with VFS.

* Add 'namekey' and 'namekey32' directives.  These generate a directory
  hash key from a path component.

* Adjust for minor API changes.

12 years agoHAMMER 23/many: Recovery, B-Tree, spike, I/O work.
Matthew Dillon [Thu, 24 Jan 2008 02:14:45 +0000 (02:14 +0000)]
HAMMER 23/many: Recovery, B-Tree, spike, I/O work.

Warning: filesystem structures have changed, recompile newfs_hammer too.

* Correct a couple more edge cases with historical lookups.  We have to
  flag the need for an iteration anywhere the edge case is hit as we
  recurse down, not just on the terminal B-Tree node.

* Get rid of the kludge record buffer bitmap in the cluster header.  Augment
  the A-List recovery and scanning code to locate record buffers.   This
  required adding some unfortunate complexity to the A-list search and
  recovery routines due to the fact that we ran out of bit codes and
  couldn't represent an all-free/initialized AND an all-free/uninitialized
  case.

* Go back to making the SPIKE_END elements range-inclusive instead of
  range-exclusive.  It turns out that making them range-exclusive caused
  a few too many collisions with adjacent records in the B-Tree.

* Excellent progress on the recovery code.  It still has numerous issues
  (there are lots of recovery cases I still have to implement), but
  it survives much longer now.  Add a sysctl to disable/enable/force
  cluster recovery (default disabled, since its still buggy).

* When creating a spike be sure to properly assign the cluster record's
  rec_offset.

* When removing a spike be sure to also free the related cluster record.

* Spike code progress.  Implement the last case it couldn't handle (spiking
  a spike) and add a very simple starter heuristic which generates a
  better spike topology (doesn't create long chains of end-range spikes).

* Add a huge number of new assertions to ease the tracking down of bugs.

* Address some IO sequencing issues that could result in io.modified
  getting prematurely cleared.  io.modified can only be cleared on write
  initiation on the last ref to a HAMMER structure.

* Add a hack to pre-reserve enough B-Tree buffers to guarantee the recovery
  code can regenerate the B-Tree without having to pack it.  This ultimately
  needs to be fixed (the recovery code really needs to pack the tree).

12 years agoFix build breakage occuring when INVARIANTS not defined and introduced
Nicolas Thery [Wed, 23 Jan 2008 17:35:48 +0000 (17:35 +0000)]
Fix build breakage occuring when INVARIANTS not defined and introduced
when adding zdestroy().

Reported-by: Matthias Schmidt <matthias@dragonflybsd.org>
12 years agoAdd quirk for an USB Flash Disk Media Player.
Matthias Schmidt [Wed, 23 Jan 2008 09:21:34 +0000 (09:21 +0000)]
Add quirk for an USB Flash Disk Media Player.

Submitted-by: Steve O'Hara-Smith <steve@sohara.org>
12 years agoTurn on VALID bit in TX desc only after the TX desc is fully setup.
Sepherosa Ziehau [Wed, 23 Jan 2008 02:37:40 +0000 (02:37 +0000)]
Turn on VALID bit in TX desc only after the TX desc is fully setup.

12 years agoStart sentences on new lines, sort links in Makefile, remove trailing space.
Sascha Wildner [Tue, 22 Jan 2008 19:17:38 +0000 (19:17 +0000)]
Start sentences on new lines, sort links in Makefile, remove trailing space.

12 years agoCall zdestroy() on module unload to avoid panic on subsequent call to sysctl
Nicolas Thery [Mon, 21 Jan 2008 21:16:59 +0000 (21:16 +0000)]
Call zdestroy() on module unload to avoid panic on subsequent call to sysctl
vm.zone.

Reported-by: Matthias Schmidt <matthias@dragonflybsd.org> (issue 910)
Debugged-by: Sepherosa Ziehau <sepherosa@gmail.com>, Matthew Dillon <dillon@apollo.backplane.com>
12 years agoDon't panic if normal zone destroyed before any call to zalloc().
Nicolas Thery [Mon, 21 Jan 2008 20:59:28 +0000 (20:59 +0000)]
Don't panic if normal zone destroyed before any call to zalloc().

12 years agoAdd zdestroy() function to release all resources owned by zone previously
Nicolas Thery [Mon, 21 Jan 2008 20:21:19 +0000 (20:21 +0000)]
Add zdestroy() function to release all resources owned by zone previously
created with zinit().

Reviewed-by: Matthew Dillon <dillon@apollo.backplane.com>
12 years agoDocument that zones are deprecated and not MP-safe.
Nicolas Thery [Mon, 21 Jan 2008 20:00:42 +0000 (20:00 +0000)]
Document that zones are deprecated and not MP-safe.