YONETANI Tomokazu [Sat, 10 Apr 2010 01:47:16 +0000 (10:47 +0900)]
window(1): Perform NULL check before strcmp() rather than after.
Fixes segfault upon TERM=cons25.
Jan Lentfer [Fri, 9 Apr 2010 18:39:48 +0000 (20:39 +0200)]
sili.4: Mention support for both versions of 3124 chips.
Alex Hornung [Fri, 9 Apr 2010 07:24:53 +0000 (07:24 +0000)]
linux emu - Refactor open code
* Factor out a linux_open_common that both open() and openat() use.
* While here, also use CACHE_*MPLOCK*, as is done in vfs_syscalls.c.
Alex Hornung [Fri, 9 Apr 2010 06:49:06 +0000 (06:49 +0000)]
linux emu - support O_DIRECTORY for open syscall
* Linux opendir seems to rely on O_DIRECTORY to avoid certain race
conditions, so introduce O_DIRECTORY support which just returns
ENOTDIR even if the open is successful, if the opened path is not a
directory.
* This fixes Ant's directory scanner.
Submitted-by: Johannes Hofmann
Sascha Wildner [Fri, 9 Apr 2010 05:38:27 +0000 (07:38 +0200)]
window(1): Remove __RCSID & friends.
Sascha Wildner [Fri, 9 Apr 2010 04:36:05 +0000 (06:36 +0200)]
rcorder(8): Remove __RCSID & friends.
Sascha Wildner [Thu, 8 Apr 2010 21:34:12 +0000 (23:34 +0200)]
hotplugd(8): We have __dead2 for __attribute__((__noreturn__)).
Why? Don't ask me.
Sascha Wildner [Thu, 8 Apr 2010 21:25:52 +0000 (23:25 +0200)]
hotplugd(8): Raise WARNS to 6.
Sascha Wildner [Thu, 8 Apr 2010 14:17:05 +0000 (16:17 +0200)]
look(1): Fix my previous commit.
I broke i386 behavior. Instead, take a nicer fix from NetBSD.
Sascha Wildner [Thu, 8 Apr 2010 13:36:51 +0000 (15:36 +0200)]
nrelease: Remove LiveDVD specific kernel configs and loader menu.
These were introduced in order to also offer SMP kernels (with and
without APIC_IO) from the LiveDVD. But we don't want to maintain 4
extra kernel configs just for that purpose, especially since we
have x86_64 support now which would require introducing even more
configs. The whole concept has to be re-thought.
So until we come up with a better solution, get rid of it and go
with the usual GENERIC/VKERNEL (X86_64_GENERIC/VKERNEL64 on
x86_64) combination just like we do for the LiveCD.
Sascha Wildner [Thu, 8 Apr 2010 13:09:21 +0000 (15:09 +0200)]
Fix look(1) on x86_64.
SIZE_T_MAX, being ULONG_MAX, was -1 when cast to off_t (int64_t).
Reported-by: Urmas Reinsalu <urki@klaasikoda.ee>
Sascha Wildner [Thu, 8 Apr 2010 12:22:07 +0000 (14:22 +0200)]
hammer.5: Add a reference to mneumann's KIT presentation slides.
Sascha Wildner [Thu, 8 Apr 2010 11:58:10 +0000 (13:58 +0200)]
pthread.3: Update the IMPLEMENTATION NOTES to the current state of affairs.
Move information from the README to the manual page since all this
information is also interesting to people who don't have source.
Sascha Wildner [Thu, 8 Apr 2010 10:04:44 +0000 (12:04 +0200)]
Add an rc script for starting vkernels upon boot.
I'm committing this for now since it works OK here and seems to be a
good thing.
Should anyone come up with better ideas for connecting to the vkernels'
consoles (as suggested by Matt and Nuno), that can go in later.
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue697>
Stathis Kamperis [Tue, 6 Apr 2010 19:17:35 +0000 (22:17 +0300)]
mqueues: selwakeup() needs the MP lock to be held
Briefly-discussed-with: sjg@
Michael Neumann [Tue, 6 Apr 2010 18:18:47 +0000 (20:18 +0200)]
hammer volume-add / volume-del: Keep bigblock stats correct
Sascha Wildner [Mon, 5 Apr 2010 17:13:47 +0000 (19:13 +0200)]
Remove an unused target from src/Makefile.
Sascha Wildner [Mon, 5 Apr 2010 15:38:35 +0000 (17:38 +0200)]
Remove the 'update' target which was used for updating source via CVS.
Users can use the targets provided in /usr/Makefile or just 'git pull'.
See development(7).
Submitted-by: Edward O'Callaghan <eocallaghan@auroraux.org>
Sascha Wildner [Mon, 5 Apr 2010 15:29:00 +0000 (17:29 +0200)]
Sync zoneinfo database with tzdata2010h from elsie.nci.nih.gov
africa: 8.23 -> 8.24
asia: 8.58 -> 8.59
Both Tunisia and Pakistan have decided to abandon DST.
Sascha Wildner [Sun, 4 Apr 2010 17:29:04 +0000 (19:29 +0200)]
nrelease: Remove unused variable.
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.
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
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.
Antonio Huete Jimenez [Sun, 4 Apr 2010 00:20:12 +0000 (02:20 +0200)]
systat - Fix a deja vu in a header file.
Sascha Wildner [Sat, 3 Apr 2010 13:37:20 +0000 (15:37 +0200)]
include/Makefile: Add vers.txt to CLEANFILES.
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>
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)
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>
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
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.
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.
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
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
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
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.
Samuel J. Greear [Wed, 31 Mar 2010 09:28:11 +0000 (03:28 -0600)]
kernel - lwbuf, don't rely on gcc auto-arrays
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.
Joe Talbott [Wed, 31 Mar 2010 14:02:40 +0000 (10:02 -0400)]
vkernel - Fix kernel build after recent lwbuf work.
Reviewed-By: sjg
Sascha Wildner [Wed, 31 Mar 2010 13:22:42 +0000 (15:22 +0200)]
Fix UP kernel build.
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.
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.
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@
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.
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>
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.
Sylvestre Gallon [Wed, 24 Mar 2010 12:45:32 +0000 (13:45 +0100)]
Allow nfe and xl to compile without DEVICE_POLLING.
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.
Sylvestre Gallon [Wed, 24 Mar 2010 11:54:52 +0000 (12:54 +0100)]
Allow kernel to be compile without SYSV[SHM|MSG|SEM]
Sylvestre Gallon [Wed, 24 Mar 2010 11:53:43 +0000 (12:53 +0100)]
Allow kernel to be compile without _KPOSIX_PRIORITY_SCHEDULING.
Sylvestre Gallon [Wed, 24 Mar 2010 11:52:22 +0000 (12:52 +0100)]
Allow the kernel to be compile without KTRACE option.
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
Thomas Nikolajsen [Mon, 29 Mar 2010 23:49:02 +0000 (01:49 +0200)]
hammer(8): adjust markup & improve wording
Thomas Nikolajsen [Mon, 29 Mar 2010 23:33:21 +0000 (01:33 +0200)]
Merge commit 'crater/master'
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
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.
Thomas Nikolajsen [Mon, 29 Mar 2010 23:25:59 +0000 (01:25 +0200)]
swapcache.8/chflags.[12]: adjust markup & add flags to chflag.2
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.
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
Sascha Wildner [Mon, 29 Mar 2010 23:01:36 +0000 (01:01 +0200)]
bsd-family-tree: Sync with FreeBSD (for FreeBSD 7.3).
Thomas Nikolajsen [Mon, 29 Mar 2010 22:45:38 +0000 (00:45 +0200)]
mount_nfs.8: Add 'cache' option & add no. for RFC
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.
Sascha Wildner [Mon, 29 Mar 2010 22:37:17 +0000 (00:37 +0200)]
Fix typo.
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
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.
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>
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.
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.
Jan Lentfer [Mon, 29 Mar 2010 09:03:06 +0000 (11:03 +0200)]
BIND: Update master to v9.5.2-P3
Jan Lentfer [Mon, 29 Mar 2010 08:23:56 +0000 (10:23 +0200)]
vendor/BIND: Update to 9.5.2-P3
Sascha Wildner [Mon, 29 Mar 2010 04:42:57 +0000 (06:42 +0200)]
syscons(4): Add support for 8 bit packed pixel modes.
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
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>
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
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>
Sascha Wildner [Sun, 28 Mar 2010 11:30:07 +0000 (13:30 +0200)]
Sort sections in various manual pages.
Matthew Dillon [Sun, 28 Mar 2010 00:23:32 +0000 (17:23 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
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.
Sascha Wildner [Sun, 28 Mar 2010 00:18:32 +0000 (01:18 +0100)]
vkernel64: Fix some warnings and remove nowerror from two files.
Matthew Dillon [Sun, 28 Mar 2010 00:14:01 +0000 (17:14 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
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>
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.
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
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>
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>
Sascha Wildner [Sat, 27 Mar 2010 22:35:30 +0000 (23:35 +0100)]
msgrcv.3: No need for .Tn or .Ns here.
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
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.
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.
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.
Matthew Dillon [Fri, 26 Mar 2010 06:18:35 +0000 (23:18 -0700)]
HAMMER - Update hammer.8 documentation. Document the fsync modes.
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.
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>
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
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.
Samuel J. Greear [Wed, 24 Mar 2010 19:40:47 +0000 (13:40 -0600)]
linux - Allow for maps to be read in chunks
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
Alex Hornung [Wed, 24 Mar 2010 21:12:58 +0000 (21:12 +0000)]
remove several leftover debug kprintfs
Reported-by: Rumko
Alex Hornung [Wed, 24 Mar 2010 20:36:24 +0000 (20:36 +0000)]
vn_fullpath.9 - Document new guess feature
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
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