dragonfly.git
14 years agotmpfs - Add additional mount options
Matthew Dillon [Wed, 7 Apr 2010 16:34:43 +0000 (09:34 -0700)]
tmpfs - Add additional mount options

* Add named mount options for guid, uid, mode (root inode)
* Add named mount options ofr inodes, size, and maxfilesize.

Submitted-by: Naoya Sugioka <naoya.sugioka@gmail.com>
14 years agoHAMMER Utility - Change default split size from 100MB to 4G
Matthew Dillon [Sun, 4 Apr 2010 16:23:19 +0000 (09:23 -0700)]
HAMMER Utility - Change default split size from 100MB to 4G

* Change the default split size for mirroring from 100MB to 4G.  For very
  large filesystems a small split size can result in very high meta-data
  overheads with very little actual incremental data.

* Adjust the manual page for the split changes.

* Adjust the manual page to clarify limitations of the bandwidth option.

14 years agonrelease: Add back the creation of the /usr/local hierarchy on the LiveCD.
Sascha Wildner [Sun, 4 Apr 2010 16:06:42 +0000 (18:06 +0200)]
nrelease: Add back the creation of the /usr/local hierarchy on the LiveCD.

Even though nothing in base uses it, it's more convenient to have the
hierarchy already in place in case the user wants to install some stuff
the traditional way.

While doing this, remove the documentation of the 'fetch' target from
release.7 since this target no longer exists now that cvsup has been
removed from the LiveCD.

In-discussion-with: dillon

14 years agoinstaller: Fix the LiveCD's /etc/fstab regarding /usr/local.
Sascha Wildner [Sun, 4 Apr 2010 15:21:57 +0000 (17:21 +0200)]
installer: Fix the LiveCD's /etc/fstab regarding /usr/local.

/usr/local/etc was mounted read/write (a remnant from the FreeBSD ports
era). Instead, mount /usr/pkg/etc in order to give the user a chance to
tweak the settings of the packages which come on the LiveCD.

14 years agosystat - Fix a deja vu in a header file.
Antonio Huete Jimenez [Sun, 4 Apr 2010 00:20:12 +0000 (02:20 +0200)]
systat - Fix a deja vu in a header file.

14 years agoinclude/Makefile: Add vers.txt to CLEANFILES.
Sascha Wildner [Sat, 3 Apr 2010 13:37:20 +0000 (15:37 +0200)]
include/Makefile: Add vers.txt to CLEANFILES.

14 years agokernel - Address excessive stall in pageout during deadlock avoidance
Matthew Dillon [Thu, 1 Apr 2010 18:06:07 +0000 (11:06 -0700)]
kernel - Address excessive stall in pageout during deadlock avoidance

* The pageout daemon uses LK_TIMELOCK to avoid deadlocking on a vnode
  that might be held locked during a pfault, which waits up to 1/10 of
  a second.

  If the vnode has a large number of pageable pages each page may go
  through the timeout.  This can result in the pageout daemon stalling
  for an excessive amount of time.

  Reduce instances of the problem by remembering the last vnode which
  failed its timelock and using LK_NOWAIT for later pages.  A single
  vnode is remembered for now.

Reported-by: Francois Tigeot <ftigeot@wolfpond.org>
14 years agodevfs - Fix incorrect st_size reporting
Matthew Dillon [Thu, 1 Apr 2010 16:16:23 +0000 (09:16 -0700)]
devfs - Fix incorrect st_size reporting

* The default reported st_size should be 0 and not sizeof(devfs_node).

* Fixes incorrect reporting for /dev/null and other devices.

Reported-by: marino2, numerous others (it slipped through the cracks)
14 years agoHAMMER VFS - Fix insufficient cursor change test
Matthew Dillon [Thu, 1 Apr 2010 16:15:17 +0000 (09:15 -0700)]
HAMMER VFS - Fix insufficient cursor change test

* The reblocking code tests whether a cursor has changed after being
  unlocked.  This test was insufficient and resulted in an assertion
  panic.  Beef up the test.

Reported-by: Jan Lentfer <Jan.Lentfer@web.de>
14 years agovinum - change drive parsing
Alex Hornung [Wed, 31 Mar 2010 21:18:40 +0000 (21:18 +0000)]
vinum - change drive parsing

* When calling init_drive() from read_drive_label() change the static 0
  with the verbose var that is passed to read_drive_label().

* Changed the way the drives are parsed in vinum_scandisk() and removed
  the second iteration of detecting vinum partitions

Submitted-by: Rumko
Dragonfly-bug: http//bugs.dragonflybsd.org/issue1565

14 years agoman - Add .Dx entries for 2.6 and 2.7
Matthew Dillon [Wed, 31 Mar 2010 20:39:36 +0000 (13:39 -0700)]
man - Add .Dx entries for 2.6 and 2.7

* Add .Dx entries for 2.6 and 2.7 so nroff -mandoc doesn't complain.

14 years agoHAMMER - Adjust documentation and change default fsync_mode to 3
Matthew Dillon [Wed, 31 Mar 2010 20:36:34 +0000 (13:36 -0700)]
HAMMER - Adjust documentation and change default fsync_mode to 3

* The default fsync_mode is 3 (REDO heuristic with no disk flush).
  This mode is contemporary with what a UFS fsync() does.

14 years agodevfs - remove obsolete KKASSERT
Alex Hornung [Wed, 31 Mar 2010 19:12:08 +0000 (19:12 +0000)]
devfs - remove obsolete KKASSERT

* remove an obsolete KKASSERT checking namlen in allocp, as one was able
  to trigger it from userland by adding a sufficiently large link rule.

Reported-by: Sascha Wildner
14 years agovkernel - remove stale lwbuf fields in globaldata
Matthew Dillon [Wed, 31 Mar 2010 17:44:42 +0000 (10:44 -0700)]
vkernel - remove stale lwbuf fields in globaldata

* Remove stale lwbuf fields that are no longer used from the
  vkernel's globaldata.

* Remove a now-unnecessary #include line from globaldata.h

14 years agokernel - lwbuf - Remove dead code
Matthew Dillon [Wed, 31 Mar 2010 16:25:55 +0000 (09:25 -0700)]
kernel - lwbuf - Remove dead code

* Remove dead code.  objcache_get() can't return NULL in this case.

Submitted-by: sjg
14 years agokernel - more lwbuf followup work
Matthew Dillon [Wed, 31 Mar 2010 16:14:28 +0000 (09:14 -0700)]
kernel - more lwbuf followup work

* Make lwbuf objcache only, removing all the manual per-cpu allocation
  tracking.  Keep the cpumask stuff.  We will deal with the KVM
  fragmentation issue inside objcache later on.

* This basically takes us back to Sam's original objcache implementation.

* Remove unnecessary assembly symbols (assembly didn't use those globaldata
  fields).  Remove related globaldata fields now that we are back to the
  objcache-only implementation.

14 years agokernel - lwbuf, don't rely on gcc auto-arrays
Samuel J. Greear [Wed, 31 Mar 2010 09:28:11 +0000 (03:28 -0600)]
kernel - lwbuf, don't rely on gcc auto-arrays

14 years agokernel - make lwbuf use objcache for ephemeral mappings
Samuel J. Greear [Wed, 31 Mar 2010 08:17:39 +0000 (02:17 -0600)]
kernel - make lwbuf use objcache for ephemeral mappings

* Introduce ephemeral-tagged mappings to lwbuf, these are serviced directly
from objcache.

* Add kern.ipc.lwbuf_reserve, a boot-time tuneable that controls the number
of per-cpu lwbuf's reserved by the subsystem.

* Add kern.ipw.lwbuf_count, which prints the per-cpu number of lwbufs
available for allocation.

14 years agovkernel - Fix kernel build after recent lwbuf work.
Joe Talbott [Wed, 31 Mar 2010 14:02:40 +0000 (10:02 -0400)]
vkernel - Fix kernel build after recent lwbuf work.

Reviewed-By: sjg
14 years agoFix UP kernel build.
Sascha Wildner [Wed, 31 Mar 2010 13:22:42 +0000 (15:22 +0200)]
Fix UP kernel build.

14 years agokernel - Fix lwbuf leak for i386
Matthew Dillon [Wed, 31 Mar 2010 06:45:52 +0000 (23:45 -0700)]
kernel - Fix lwbuf leak for i386

* lwbufs were not being freed back to the originating cpu, creating a
  situation where an infinite number of lwbufs could be allocated.

* Refactor the lwbuf code for i386.  Track the cpu in the lwbuf, remove
  lwbuf_free_kvp, track the number of lwbufs on the free list for each
  cpu.

  Free a lwbuf back to the cpu it was originally created on.

  Destroy lwbufs and related kmem if the number of free lwbufs on a cpu
  exceeds 256.

* This is a temporary fix until the i386 code can be adjusted to use the
  objcache again.

14 years agoRaise default .Os value for the manual pages to 2.7 on 2.7.
Sascha Wildner [Tue, 30 Mar 2010 22:03:04 +0000 (00:03 +0200)]
Raise default .Os value for the manual pages to 2.7 on 2.7.

14 years agomk.conf - back out part of the previous commit
Alex Hornung [Tue, 30 Mar 2010 19:23:39 +0000 (19:23 +0000)]
mk.conf - back out part of the previous commit

* It seems that there's no real consensus on the correctness of this, so
  I'm keeping them as comments for users to easily enable.

Thanks-to: beket@

14 years agomk.conf - add some more licenses, and dri
Alex Hornung [Tue, 30 Mar 2010 18:57:00 +0000 (18:57 +0000)]
mk.conf - add some more licenses, and dri

* Enable 'dri' by default for pkgsrc packages.

* Enable some licenses that come in handy for typical desktop
  applications.

14 years agoMove SHOW_BUSYBUFS to the platform independent kernel options file.
Sascha Wildner [Tue, 30 Mar 2010 16:14:23 +0000 (18:14 +0200)]
Move SHOW_BUSYBUFS to the platform independent kernel options file.

Submitted-by: Sylvestre Gallon <ccna.syl@gmail.com>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1702>

14 years agovadvise depend of COMPAT_43.
Sylvestre Gallon [Tue, 30 Mar 2010 15:00:51 +0000 (17:00 +0200)]
vadvise depend of COMPAT_43.
Now the kernel compile without COMPAT_43 option.

14 years agoAllow nfe and xl to compile without DEVICE_POLLING.
Sylvestre Gallon [Wed, 24 Mar 2010 12:45:32 +0000 (13:45 +0100)]
Allow nfe and xl to compile without DEVICE_POLLING.

14 years agoUFS code is dependant of FFS code. It does not compile without FFS option GENERIC.
Sylvestre Gallon [Wed, 24 Mar 2010 12:41:32 +0000 (13:41 +0100)]
UFS code is dependant of FFS code. It does not compile without FFS option GENERIC.

14 years agoAllow kernel to be compile without SYSV[SHM|MSG|SEM]
Sylvestre Gallon [Wed, 24 Mar 2010 11:54:52 +0000 (12:54 +0100)]
Allow kernel to be compile without SYSV[SHM|MSG|SEM]

14 years agoAllow kernel to be compile without _KPOSIX_PRIORITY_SCHEDULING.
Sylvestre Gallon [Wed, 24 Mar 2010 11:53:43 +0000 (12:53 +0100)]
Allow kernel to be compile without _KPOSIX_PRIORITY_SCHEDULING.

14 years agoAllow the kernel to be compile without KTRACE option.
Sylvestre Gallon [Wed, 24 Mar 2010 11:52:22 +0000 (12:52 +0100)]
Allow the kernel to be compile without KTRACE option.

14 years agomandoc(1): Update to 1.9.20.
Sascha Wildner [Tue, 30 Mar 2010 13:31:19 +0000 (15:31 +0200)]
mandoc(1): Update to 1.9.20.

For a full list of changes, see <http://mdocml.bsd.lv/ChangeLog.html>.

Thanks-to: Kristaps Dzonsons

14 years agohammer(8): adjust markup & improve wording
Thomas Nikolajsen [Mon, 29 Mar 2010 23:49:02 +0000 (01:49 +0200)]
hammer(8): adjust markup & improve wording

14 years agoMerge commit 'crater/master'
Thomas Nikolajsen [Mon, 29 Mar 2010 23:33:21 +0000 (01:33 +0200)]
Merge commit 'crater/master'

14 years agosystat: update vmstat & improve man page
Thomas Nikolajsen [Mon, 29 Mar 2010 23:28:19 +0000 (01:28 +0200)]
systat: update vmstat & improve man page

 * vmstat display:
 *   change disk stat legend to use `/s' for (r)ead & (w)rite
 *   adjust `%slo-z' to show advertized value; was inverse
 *   rename `ofod' to `ozfod' to follow sysctl
 * man page:
 *   include legend for more fields: easier to follow & search
 *   include description for extended VM stat

14 years agovknet(1)/vknetd(8): improve markup, sync SYNOPSIS/usage() & update description
Thomas Nikolajsen [Mon, 29 Mar 2010 23:26:32 +0000 (01:26 +0200)]
vknet(1)/vknetd(8): improve markup, sync SYNOPSIS/usage() & update description

Default vknet socket path is /var/run/vknet;
it was updated from /dev/vknet after devfs(5) entered.

14 years agoswapcache.8/chflags.[12]: adjust markup & add flags to chflag.2
Thomas Nikolajsen [Mon, 29 Mar 2010 23:25:59 +0000 (01:25 +0200)]
swapcache.8/chflags.[12]: adjust markup & add flags to chflag.2

14 years agoahci/sili.4 - Document sysctl nodes & loader tunables
Thomas Nikolajsen [Mon, 29 Mar 2010 23:24:28 +0000 (01:24 +0200)]
ahci/sili.4 - Document sysctl nodes & loader tunables

Also sili(4) isn't tested on SiI3531 yet;
while in config(8) files: fix white space.

14 years agodump.8/dumpfs.8/fsck.8/newfs.8/restore.8/tunefs.8: Note UFS only
Thomas Nikolajsen [Mon, 29 Mar 2010 23:21:35 +0000 (01:21 +0200)]
dump.8/dumpfs.8/fsck.8/newfs.8/restore.8/tunefs.8: Note UFS only

14 years agobsd-family-tree: Sync with FreeBSD (for FreeBSD 7.3).
Sascha Wildner [Mon, 29 Mar 2010 23:01:36 +0000 (01:01 +0200)]
bsd-family-tree: Sync with FreeBSD (for FreeBSD 7.3).

14 years agomount_nfs.8: Add 'cache' option & add no. for RFC
Thomas Nikolajsen [Mon, 29 Mar 2010 22:45:38 +0000 (00:45 +0200)]
mount_nfs.8: Add 'cache' option & add no. for RFC

14 years agomount.8: simplify description of -t & add info on `no' option prefix
Thomas Nikolajsen [Mon, 29 Mar 2010 22:43:38 +0000 (00:43 +0200)]
mount.8: simplify description of -t & add info on `no' option prefix

also add description on `rd' and `norw' options.

14 years agoFix typo.
Sascha Wildner [Mon, 29 Mar 2010 22:37:17 +0000 (00:37 +0200)]
Fix typo.

14 years agodisklabel[32,64](8): Adjust for recent change of default disklabel program
Thomas Nikolajsen [Thu, 18 Feb 2010 22:57:03 +0000 (23:57 +0100)]
disklabel[32,64](8): Adjust for recent change of default disklabel program

14 years agodumpfs(8): The device name can be longer than 12 chars due to /dev/serno.
Sascha Wildner [Mon, 29 Mar 2010 22:09:00 +0000 (00:09 +0200)]
dumpfs(8): The device name can be longer than 12 chars due to /dev/serno.

14 years agokernel - Fix NULL pointer dereference on forced unmount
Matthew Dillon [Mon, 29 Mar 2010 20:52:11 +0000 (13:52 -0700)]
kernel - Fix NULL pointer dereference on forced unmount

* Forced unmounts forcefully remove vnodes from a mount but failed
  to reassociate those vnodes with a dummy mount.  Reassociate the
  vnodes with a dummy mount to avoid a NULL pointer dereference.

Reported-by: Saifi Khan <saifi.khan@datasynergy.org>
14 years agokernel - Fix bug in biowait()
Matthew Dillon [Mon, 29 Mar 2010 20:24:50 +0000 (13:24 -0700)]
kernel - Fix bug in biowait()

* biowait() was assuming the bio would be done after tsleep returns but
  in fact we have to loop and check again.

14 years agoSync zoneinfo database with tzdata2010g from elsie.
Sascha Wildner [Mon, 29 Mar 2010 15:31:24 +0000 (17:31 +0200)]
Sync zoneinfo database with tzdata2010g from elsie.

asia:           8.56 -> 8.58
europe:         8.25 -> 8.26
zone.tab:       8.34 -> 8.35

* DST was cancelled in Bangladesh.

* Gaza DST starts last Sunday in March at 12:01AM in 2010 and forward.

* Some Russian regions change time zone.

14 years agoBIND: Update master to v9.5.2-P3
Jan Lentfer [Mon, 29 Mar 2010 09:03:06 +0000 (11:03 +0200)]
BIND: Update master to v9.5.2-P3

14 years agovendor/BIND: Update to 9.5.2-P3
Jan Lentfer [Mon, 29 Mar 2010 08:23:56 +0000 (10:23 +0200)]
vendor/BIND: Update to 9.5.2-P3

14 years agosyscons(4): Add support for 8 bit packed pixel modes.
Sascha Wildner [Mon, 29 Mar 2010 04:42:57 +0000 (06:42 +0200)]
syscons(4): Add support for 8 bit packed pixel modes.

14 years agorelease - Master is now 2.7, adjust sys/sys/param.h and sys/conf/newvers.sh v2.7.0
Matthew Dillon [Sun, 28 Mar 2010 22:58:14 +0000 (15:58 -0700)]
release - Master is now 2.7, adjust sys/sys/param.h and sys/conf/newvers.sh

14 years agokernel - Fix cluster_read random I/O heuristic
Matthew Dillon [Sun, 28 Mar 2010 18:23:04 +0000 (11:23 -0700)]
kernel - Fix cluster_read random I/O heuristic

* cluster_read was improperly accounting for the seqcount in the random
  I/O heuristic, failing to reduce the count in the loop which led to
  fairly maximal sequential read-ahead even for random I/O.

  Properly reduce the seqcount for both the initial buffer and in the
  read-ahead loop, which has the effect of terminating the loop early
  or not running it at all when the I/O is random.

* HAMMER was not scaling the seqcount for the heuristic to BKVASIZE.

* Thanks to Jan for spending the time required to bisect and track down the
  problem!

Reported-by: Jan Lentfer <Jan.Lentfer@web.de>
14 years agokernel - vinum - Fix volume number for 'vinum read'
Matthew Dillon [Sun, 28 Mar 2010 18:05:46 +0000 (11:05 -0700)]
kernel - vinum - Fix volume number for 'vinum read'

* vinum read was not assigning the proper volume number, resulting in
  broken devices in /dev/vinum/vol.

Submitted-by: Rumko
14 years agokernel - Add debug.panic sysctl
Matthew Dillon [Sun, 28 Mar 2010 17:44:33 +0000 (10:44 -0700)]
kernel - Add debug.panic sysctl

* Add sysctl knob to panic the kernel for debugging purposes.

Submitted-by: Venkatesh Srinivas <me@endeavour.zapto.org>
14 years agoSort sections in various manual pages.
Sascha Wildner [Sun, 28 Mar 2010 11:30:07 +0000 (13:30 +0200)]
Sort sections in various manual pages.

14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sun, 28 Mar 2010 00:23:32 +0000 (17:23 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agokernel - Correct syscalls.master for shmat()
Matthew Dillon [Sun, 28 Mar 2010 00:22:11 +0000 (17:22 -0700)]
kernel - Correct syscalls.master for shmat()

* kernel config doesn't understand void *, use caddr_t.  This has no
  effect on the prototypes per-say.

14 years agovkernel64: Fix some warnings and remove nowerror from two files.
Sascha Wildner [Sun, 28 Mar 2010 00:18:32 +0000 (01:18 +0100)]
vkernel64: Fix some warnings and remove nowerror from two files.

14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sun, 28 Mar 2010 00:14:01 +0000 (17:14 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agokernel - Fix shmat() for 64-bit
Matthew Dillon [Sun, 28 Mar 2010 00:12:02 +0000 (17:12 -0700)]
kernel - Fix shmat() for 64-bit

* shmat() was storing pointers into integer fields, which works fine
  for 32-bit but fails utterly for 64-bit.  Fixed.

Reported-by: Stathis Kamperis <ekamperi@gmail.com>
14 years agoFurther adjustments for 64 bit vkernels.
Sascha Wildner [Sat, 27 Mar 2010 23:37:53 +0000 (00:37 +0100)]
Further adjustments for 64 bit vkernels.

* Put a vkernel on the ISO too, just like we do with the 32 bit vkernel.

* Adjust miscellaneous manual pages.

* Don't build bus modules for 64 bit vkernels, too.

* Install 64 bit vkernels to /var/vkernel, too.

14 years agoHAMMER VFS - Conditionalize more debugging kprintfs during recovery
Matthew Dillon [Sat, 27 Mar 2010 23:36:50 +0000 (16:36 -0700)]
HAMMER VFS - Conditionalize more debugging kprintfs during recovery

* Conditionalize recovery record record debug message as well

14 years agokernel - Move PANIC_REBOOT_WAIT_TIME to conf/options
Matthew Dillon [Sat, 27 Mar 2010 23:36:00 +0000 (16:36 -0700)]
kernel - Move PANIC_REBOOT_WAIT_TIME to conf/options

* Move it out of the platform-specific conf and into the generic conf.

Submitted-by: Sylvestre Gallon <ccna.syl@gmail.com>
14 years agoOpenSSL - Quickly patch openssl issue
Matthew Dillon [Sat, 27 Mar 2010 23:32:13 +0000 (16:32 -0700)]
OpenSSL - Quickly patch openssl issue

Submitted-by: Peter Avalos <pavalos@theshell.com>
14 years agomsgrcv.3: No need for .Tn or .Ns here.
Sascha Wildner [Sat, 27 Mar 2010 22:35:30 +0000 (23:35 +0100)]
msgrcv.3: No need for .Tn or .Ns here.

14 years agomandoc(1): Update to 1.9.19.
Sascha Wildner [Sat, 27 Mar 2010 19:25:34 +0000 (20:25 +0100)]
mandoc(1): Update to 1.9.19.

For a full list of changes, see <http://mdocml.bsd.lv/ChangeLog.html>.

Thanks-to: Kristaps Dzonsons

14 years agoHAMMER VFS - Conditionalize debugging kprintfs during recovery
Matthew Dillon [Sat, 27 Mar 2010 06:06:07 +0000 (23:06 -0700)]
HAMMER VFS - Conditionalize debugging kprintfs during recovery

* Conditionalize debug kprintfs on bootverbose during REDO recovery.

14 years agonrelease: replace cvsup with pkgsrc/net/csup
YONETANI Tomokazu [Sat, 27 Mar 2010 00:47:38 +0000 (09:47 +0900)]
nrelease: replace cvsup with pkgsrc/net/csup

Also mention net/csup and devel/cvsync in README file.

14 years agoHAMMER VFS - Remove some debugging
Matthew Dillon [Fri, 26 Mar 2010 16:16:45 +0000 (09:16 -0700)]
HAMMER VFS - Remove some debugging

* Remove print_backtrace() call in hammer_cursor_moved_element() which
  can cause x86_64 to panic.

14 years agoHAMMER - Update hammer.8 documentation. Document the fsync modes.
Matthew Dillon [Fri, 26 Mar 2010 06:18:35 +0000 (23:18 -0700)]
HAMMER - Update hammer.8 documentation.  Document the fsync modes.

14 years agoHAMMER VFS - Implement REDO recovery code
Matthew Dillon [Fri, 26 Mar 2010 05:42:47 +0000 (22:42 -0700)]
HAMMER VFS - Implement REDO recovery code

* Implement the primary REDO recovery mechanics and document the whole mess.
  REDO recovery essentially works using an expanded UNDO/REDO FIFO range.

  The nominal UNDO range, required for running UNDOs, is calculated first.
  If a REDO_SYNC record is found within this range the record specifies
  the expanded FIFO start offset required to run REDOs.  This is necessary
  because the inodes related to REDOs layed down in the FIFO are not
  necessarily flush in the next flush sequence, so the recovery code may
  have to scan the UNDO/REDO FIFO backwards considerably beyond the nominal
  recovery ranged required to run UNDOs in order to find active REDOs.

  When a REDO_SYNC record is found the recovery code expands the range
  by scanning backwards and validating the UNDO/REDO FIFO as it goes.
  It must make sure that the sequence space remains contiguous all the
  back to the REDO_SYNC point.

  While doing the reverse scan the recovery code collects REDO_TERM_*
  records which are used to mask earlier REDO_* records once their
  meta-data has been flushed.  Only TERM records in the expanded range
  that are outside the nominal UNDO range matter.  Any TERM records in
  the nominal UNDO range refer to meta-data which was undone by the
  stage1 UNDO recovery and so must be ignored (we want to run the
  related REDOs).

  The recovery code then does a forward scan through the entire expanded
  range of the UNDO/REDO FIFO executing any REDO_* records it finds
  which have not been masked by later REDO_TERM_* records.  It executes
  the REDOs using the live filesystem.

* Expand the REDO FIFO structure, I had forgotten to add a localization
  field, otherwise HAMMER doesn't know which PFS the REDO is refering to.

* Umount was improperly flushing the FIFO to the disk for read-only mounts.
  Fix it.

* The recovery code now detects whether any REDOs are present by the
  observation of a REDO_SYNC record in the nominal UNDO recovery range.
  It will not run stage2 (the REDO pass) if it does not see this record.

* Properly generate a REDO_SYNC record in the UNDO space when generating
  only REDOs, as well as UNDOs.  HAMMER was previously only generating
  the REDO_SYNC record when generating UNDOs.

* Generate a REDO_TRUNC record during a file flush if any records were
  previously queued with REDO, even if those records no longer exist
  (e.g. due to a truncation) and even if REDO is now turned off due to
  redo heuristic limits being exceeded.

  This is necessary in order for the recovery code to properly sequence
  REDOs and TRUNCations during recovery.

* For now be very verbose during redo recovery.

* Make sure that mount -o ro and mount -u -o rw work properly.  The
  stage2 REDO cannot be run on a read-only mount because it requires a
  live filesystem.  The operations are defered until the mount is
  upgraded to rw.

14 years agocpdup - Fix bug where cpdup sometimes does not remove files on target
Matthew Dillon [Thu, 25 Mar 2010 17:35:43 +0000 (10:35 -0700)]
cpdup - Fix bug where cpdup sometimes does not remove files on target

* Fix a bug introduced in a recent commit which caused cpdup to sometimes
  not remove files on the target which were removed from the source.

Submitted-by: Oliver Fromme <check+kzu4p100rs0rfx01@fromme.com>
14 years agoinitdiskless - Handle cpio archives in accordance with the comments.
Joe Talbott [Thu, 25 Mar 2010 15:17:44 +0000 (11:17 -0400)]
initdiskless - Handle cpio archives in accordance with the comments.

Match cpio archive handling with what is indicated in the comments
Don't bother using gzip since cpio can handle gzipped archives.

Submitted-By: Rumko
Issue: 1568

14 years agonrelease - leftover from transition to building from pkgsrc tree
YONETANI Tomokazu [Wed, 24 Mar 2010 07:59:14 +0000 (16:59 +0900)]
nrelease - leftover from transition to building from pkgsrc tree

the conditional is always true as PKGSRC_BOOTSTRAP_KIT is defined in nowhere.

14 years agolinux - Allow for maps to be read in chunks
Samuel J. Greear [Wed, 24 Mar 2010 19:40:47 +0000 (13:40 -0600)]
linux - Allow for maps to be read in chunks

14 years agolinux - Add syscalls
Samuel J. Greear [Wed, 24 Mar 2010 17:50:05 +0000 (11:50 -0600)]
linux - Add syscalls

* Stub out a number of syscalls using the DUMMY macro

* Add a preliminary implementation of pipe2

14 years agoremove several leftover debug kprintfs
Alex Hornung [Wed, 24 Mar 2010 21:12:58 +0000 (21:12 +0000)]
remove several leftover debug kprintfs

Reported-by: Rumko
14 years agovn_fullpath.9 - Document new guess feature
Alex Hornung [Wed, 24 Mar 2010 20:36:24 +0000 (20:36 +0000)]
vn_fullpath.9 - Document new guess feature

14 years agolinprocfs - further fix /proc/{pid}/maps
Alex Hornung [Wed, 24 Mar 2010 20:26:55 +0000 (20:26 +0000)]
linprocfs - further fix /proc/{pid}/maps

* Change to use sbufs instead of ksprintf and don't copy out to userland
  until done parsing maps.

* Avoid using EFBIG, since linux programs don't understand it.

* Make use of the new vn_fullpath guessing so that it is likely that we
  get the right path.

* Fix a bug when fullpath was NULL.

Reported-by: Samuel J. Greear
14 years agocache_fullpath - Guess mountpoints if requested
Alex Hornung [Wed, 24 Mar 2010 20:24:05 +0000 (20:24 +0000)]
cache_fullpath - Guess mountpoints if requested

* cache_fullpath (and vn_fullpath) now take an extra parameter, guess,
  which, if != 0, makes cache_fullpath look for a matching mp if an ncp
  flagged as a mountpoint is found while traversing upwards.
  This fixes uses of *_fullpath when no nch is provided, but only a vp.

* Change all consumers of cache_fullpath and vn_fullpath to accomodate
  for the extra parameter.

Suggested-by: Matthew Dillon
14 years agoMerge remote branch 'crater/master' into vkernel64
Matthew Dillon [Wed, 24 Mar 2010 18:25:37 +0000 (11:25 -0700)]
Merge remote branch 'crater/master' into vkernel64

14 years agokernel - Turn on vfs.cache_mpsafe by default
Matthew Dillon [Wed, 24 Mar 2010 17:02:05 +0000 (10:02 -0700)]
kernel - Turn on vfs.cache_mpsafe by default

* Change the vfs.cache_mpsafe default from 0 to 1.

14 years agokernel - vm - Change inactive target to 1/4 memory instead of 1/2 memory.
Matthew Dillon [Wed, 24 Mar 2010 05:09:57 +0000 (22:09 -0700)]
kernel - vm - Change inactive target to 1/4 memory instead of 1/2 memory.

14 years agotools - Add scripts for snapshot generation.
Matthew Dillon [Wed, 24 Mar 2010 05:04:31 +0000 (22:04 -0700)]
tools - Add scripts for snapshot generation.

14 years agoNFS - Remove debugging kprintfs
Matthew Dillon [Tue, 23 Mar 2010 23:38:58 +0000 (16:38 -0700)]
NFS - Remove debugging kprintfs

* Remove the "Warning: NFS/rddirplus, UNABLE TO ENTER..." debugging
  kprintf.

14 years agoHAMMER VFS - Fix another low memory deadlock issue
Matthew Dillon [Tue, 23 Mar 2010 23:27:50 +0000 (16:27 -0700)]
HAMMER VFS - Fix another low memory deadlock issue

* Unlock the cursor around calls to vm_wait_nominal() to avoid deadlocking
  while holding shared node locks.

* Add vm_test_nominal() which returns TRUE if vm_wait_nominal() would
  block.

Reported-by: Francois Tigeot <ftigeot@wolfpond.org>
14 years agovkernel64 - Add missing bits from later kernel work in the main tree
Matthew Dillon [Tue, 23 Mar 2010 22:27:40 +0000 (15:27 -0700)]
vkernel64 - Add missing bits from later kernel work in the main tree

* Add missing virtual kernel intercept in 64-bit real kernel trap.c code.

* Add td_ucred caching to userenter() in vkernel64 trap.c code.

* Set PG_RW, PG_U, PG_V in pcb_cr3.  It is unclear whether these
  are necessary.

* Remove debugging.

14 years agovkernel64 - Ignore spurious trap during fast system call, enable some debugging
Matthew Dillon [Tue, 23 Mar 2010 21:00:04 +0000 (14:00 -0700)]
vkernel64 - Ignore spurious trap during fast system call, enable some debugging

14 years agovkernel - Fix the vfs.root.mountfrom for the vkernel test code
Matthew Dillon [Tue, 23 Mar 2010 18:52:51 +0000 (11:52 -0700)]
vkernel - Fix the vfs.root.mountfrom for the vkernel test code

* This parameter is not yet used by the vkernel but fix it anyway.

14 years agovkernel64 - Cleanup, unbreak 32 bit
Matthew Dillon [Tue, 23 Mar 2010 18:42:42 +0000 (11:42 -0700)]
vkernel64 - Cleanup, unbreak 32 bit

* Remove stdio cruft from init_main.c

* Change vpte_t from 64-bits to u_long, so it will be 32 bits
  on 32 bit machines and 64 bits on 64 bit machines.  32 bit
  machines can't handle the address space breakdown or issue
  atomic ops on 64 bit quantities.

  Adjust various defines in sys/vkernel.h to accomodate both
  cases.

* Adjust atomic ops used by vm/vm_fault.c for virtual page
  table access (int -> long).

* Adjust atomic ops and types used by the 32 bit
  platform/vkernel code, primarily (int -> long) and
  also some vm_offset_t's which are really vm_paddr_t's
  or vpte_t's.

* Adjust src/test/vkernel/Makefile to run properly on
  a 32 or 64 bit system.

14 years agoMerge remote branch 'crater/master' into vkernel64
Matthew Dillon [Tue, 23 Mar 2010 16:45:11 +0000 (09:45 -0700)]
Merge remote branch 'crater/master' into vkernel64

14 years agoconj.3: Mention conjl.
Stathis Kamperis [Mon, 22 Mar 2010 19:19:48 +0000 (21:19 +0200)]
conj.3: Mention conjl.

14 years agonrelease - Fix ordering dependency during parallel buildkernel (try 2)
Matthew Dillon [Tue, 23 Mar 2010 08:39:25 +0000 (01:39 -0700)]
nrelease - Fix ordering dependency during parallel buildkernel (try 2)

* Further adjustments to the .ORDER: to try to fix the header file
  race.

14 years agonewvers - further shorten branch name in vers.txt
Matthew Dillon [Tue, 23 Mar 2010 08:37:51 +0000 (01:37 -0700)]
newvers - further shorten branch name in vers.txt

* Adjust vers.txt to generate a shortern branch name

  DEVELOPMENT -> DEV
  RELEASE -> REL

14 years agokernel - Change the vfs.vm_cycle_point default from 23 to 40
Matthew Dillon [Tue, 23 Mar 2010 05:44:33 +0000 (22:44 -0700)]
kernel - Change the vfs.vm_cycle_point default from 23 to 40

* Large volumes of filesystem activity can cause a lot of data cycling
  to occur and we generally want this cycling to occur within the inactive
  queue where it doesn't push-out idle but strategic pages related to
  resident programs in the active queue.

  A larger vm_cycle_point value will tend to cause VM pages related to
  released buffer cache buffers to be cycled back into the inactive queue,
  leaving the pages in the active queue alone.  A smaller vm_cycle_point
  value will move the more often-used buffer cache buffer pages to the
  active queue when the buffer is released.

* Unfortunately there are typically a lot of VM pages related to resident
  programs such as xterms and databases which can remain idle for long
  periods of time.  Excessive cycling of buffer cache pages to the
  active queue can cause these long-idle pages to be pushed out to
  swap and/or freed.

  This results in an annoyance when these processes go active again,
  particular ssh, xterm, and other interactive programs.  These are
  not necessarily going to perform badly once the pages are paged back
  in, however.

* It has been found that certain large-scale scans of the filesystem such
  as the HAMMER reblocker and overnight cron jobs could push active pages
  out unnecessarily.  Raising vfs.vm_cycle_point to 40 essentially fixes
  this problem but at the cost of potentially starving the 'file cache'
  for data sets which would otherwise fit into memory (and for which the
  sysop might desire to fit into memory).  So YMMV.

Testing-by: Francois Tigeot <ftigeot@wolfpond.org>
14 years agonrelease - Fix ordering dependency during parallel buildkernel
Matthew Dillon [Tue, 23 Mar 2010 05:07:45 +0000 (22:07 -0700)]
nrelease - Fix ordering dependency during parallel buildkernel

* Make sure aicasm_gram.h is generated before the aicasm_scan.l
  dependency.  aicasm_scan.c is generated from aicasm_scan.l and
  depends on aicasm_gram.h.

  Not quite sure if this ORDER directive is correct.

14 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Mon, 22 Mar 2010 22:28:40 +0000 (15:28 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

14 years agonrelease - Add dummy fetch target for x86_64
Matthew Dillon [Mon, 22 Mar 2010 22:28:14 +0000 (15:28 -0700)]
nrelease - Add dummy fetch target for x86_64

* Ensure the fetch target is valid regardless of the architecture

14 years agoSync zoneinfo database with tz{code,data}2010f from elsie.
Sascha Wildner [Mon, 22 Mar 2010 21:10:36 +0000 (22:10 +0100)]
Sync zoneinfo database with tz{code,data}2010f from elsie.

antarctica:     8.7  -> 8.8
asia:           8.55 -> 8.56
australasia:    8.16 -> 8.17
zone.tab:       8.33 -> 8.34
zic.8:          8.4  -> 8.6

* antarctica: Changes to Australian stations.

* asia: Change Syria DST start from last Friday in March to first Friday
  in April in 2010 and forward.

* australasia: Correct 2010 Samoa DST start date.

* zone.tab: Add Antarctica/Macquarie.

* zic.8: Add material on case, abbreviations, and use of English.