Matthew Dillon [Tue, 3 Nov 2009 18:36:35 +0000 (10:36 -0800)]
AHCI/SILI - More adjustments to last commit
* Use the ultradma field instead of the legacy field. All SATA devices
must support DMA so don't bother with the other legacy fields. If the
ultradma field is not initialized (on future devices) then presumably
we do not have to SETXFER at all.
* Note that SATA hard drives do report this field.
* Fix mode calculation.
Matthew Dillon [Tue, 3 Nov 2009 18:00:14 +0000 (10:00 -0800)]
AHCI/SILI - Send dummy SETXFER mode even though it is SATA
* If the identify structure contains a non-zero/non-FFFF dmamode field
we send a dummy SETXFER mode command to the device.
* Most SATA DISK devices set this field to 0 or FFFF and in this case no
SETXFER mode command is sent. SETXFER is non-applicable to SATA in
general.
Most ATAPI devices still initialize the dmamode field and some ATAPI
devices still require SETXFER to be sent even though they are native SATA.
SATA->PATA converters may require a SETXFER to be passed through before
the PATA devices will operate properly. In this case the dmamode field
will likely be initialized.
Sascha Wildner [Tue, 3 Nov 2009 08:12:39 +0000 (09:12 +0100)]
Sync zoneinfo database with tzdata2009q from elsie.
asia: 8.42 -> 8.44
europe: 8.22 -> 8.24
zone.tab: 8.28 -> 8.29
* Change end of DST in Syria in 2009 and forward from November 1 to the
last Friday in October.
* Changes to past Hong Kong transitions.
* New zone for Russia's Kemerovo oblast' (Asia/Novokuznetsk).
Sascha Wildner [Sun, 1 Nov 2009 18:21:32 +0000 (19:21 +0100)]
Remove lib/libc/stdlib/malloc.c, as we're using nmalloc.c for some time now.
Matthew Dillon [Tue, 3 Nov 2009 01:42:21 +0000 (17:42 -0800)]
HAMMER VFS - Handle critical I/O errors without panicing
Physically pull the SATA cable while pounding the disk via a HAMMER
mounted filesystem and fix the error paths that are not handled properly.
Make umount -f work properly.
Reminder: Currently if HAMMER hits a critical media error it drops down
into read-only mode and can only be read or unmounted after that.
* Do not try to test the CRC for bread data if the bread fails.
* Clean up the reference count on hammer_buffer structures related to
dangling modified and ioerror bits.
* Remove a debugging kprintf() that was lousing up the console output.
Matthew Dillon [Mon, 2 Nov 2009 23:45:27 +0000 (15:45 -0800)]
HAMMER VFS - Add sysctl vfs.hammer.debug_critical
* Add sysctl vfs.hammer.debug_critical. If set to non-zero a critical
CRC or media error will cause the kernel debugger to be entered.
Thomas Nikolajsen [Mon, 2 Nov 2009 22:54:39 +0000 (23:54 +0100)]
hammer(8): version 3 doc update
* improve description
* update synopsis & sync program
* improve markup
* break lines at end of sentence
Matthew Dillon [Mon, 2 Nov 2009 17:11:46 +0000 (09:11 -0800)]
HAMMER VFS - The backend flusher now sorts inodes
* Change the tailq of inodes in a flush group to a red-black tree.
The flusher now processes inodes in sorted order and breaks them up
into larger sets for concurrent flushing. The flusher threads are thus
more likely to concurrently process inodes which are fairly far apart
in the B-Tree.
This greatly reduces lock interference between flusher threads. However,
B-Tree deadlocks are still an issue between inodes undergoing flushes
and front-end access operations. This can be observed by noting periods
of low dev-write activity in 'hammer iostats 1' output during a blogbench
test. The hammer-S* kernel threads will likely be in a 'hmrdlk' state
at the same time.
* Add sysctl vfs.hammer.limit_reclaim to set the maximum
number of inodes with no vnode associations, default 4000.
NOTE: For debugging only, setting this value too high will blow
out the kmalloc pool.
Matthew Dillon [Mon, 2 Nov 2009 06:12:09 +0000 (22:12 -0800)]
HAMMER - Verbosity patch for mount_hammer.
* Be more verbose when a HAMMER mount fails. Attempt to dissect and
check the volume list.
Submitted-by: Jan Lentfer <Jan.Lentfer@web.de>
Matthew Dillon [Mon, 2 Nov 2009 05:50:32 +0000 (21:50 -0800)]
VM - Adjust inactive_target and pageout code.
Continue tuning page recyclement in the VM paging queues. Fix an issue
where the memory used to recycle one-time-use cache data becomes too
constricted. For example if blogbench is run on one directory and then
run again on another directory, too many pages cached from the first run
were being left in the active queue and not recycled.
The only way to deal with this is to allow the pageout code to pull pages
from the active queue to the inactive queue. This in turn resurrects the
issue of overnight processes (whos pages are idle, after all), getting
excessively uncached. I think the goal needs to be to reduce excessive
recyclement of such pages over a shorter time-frame, such as an hour.
Adjusting vfs.vm_cycle_point higher may help (but we don't do it in this
commit).
* Change the pageout code a bit to pull a limited number of pages from
the active queue to the inactive queue if the inactive target has not
been met but the cache+free targets were satisfied from the inactive
queue. This allows the inactive_target to be increased without creating
additional mangement overhead on the machine.
* Increase the inactive_target to 1/2 of probed memory.
* Document the issues involved with pulling pages out of the active queue.
Matthew Dillon [Mon, 2 Nov 2009 00:51:16 +0000 (16:51 -0800)]
HAMMER UTIL - Version 4 part 2/many - UNDO FIFO layout work.
* newfs_hammer now formats the UNDO FIFO space to conform with version 4
filesystems.
* newfs_hammer now creates a version 3 filesystem by default (instead of 2).
* Fix bug in blockmap lookup code. The wrong hammer offset was being used
to validate the freemap zone. It only effected UNDO zone offsets.
* Add the 'show-undo' directive which dumps the UNDO FIFO space.
Matthew Dillon [Mon, 2 Nov 2009 00:35:41 +0000 (16:35 -0800)]
HAMMER VFS - Version 4 part 1/many - UNDO FIFO layout work.
These changes only apply to HAMMER version 4+ filesystems. HAMMER
versions less then 4 only implement some of these changes and do not
use the new features during crash recovery.
* Add a sequence number of the UNDO FIFO media record format. The field
already existed for just this purpose so no media structures changed
size.
* Change the alignment boundary for HAMMER UNDO records from 16K to 512
bytes. This coupled with the sequence number virtually guarantees that
the recovery code can detect uninterrupted sequences of UNDO records
without having to relay on the FIFO last_offset field in the volume
header.
This isn't as bad as it sounds. It just means that large UNDO blocks
are broken up into smaller on-media structures in order to ensure a
record header occurs on every 512 byte boundary.
* Add HAMMER_HEAD_TYPE_DUMMY and HAMMER_HEAD_TYPE_REDO (Redo is not yet
used). The DUMMY type is a dummy record used solely to identify a
sequence number. PAD records cannot have sequence numbers so we need
a DUMMY record for it.
Remove unused UNDO FIFO record types.
* Adjust the version upgrade code to completely reinitialize the UNDO FIFO
space when moving from version < 4 to version >= 4. This puts all blocks
in the UNDO FIFO in a deterministic state with deterministic sequence
numbers on 512 byte boundaries.
* Refactor the flush code. In versions less then 4 the flush code had to
flush dirty UNDO buffers, synchronize disk, then flush the volume header
and synchronize disk again, then flush the meta data. For HAMMER
versions >= 4 the flush code removes the second disk synchronization
operation.
* Refactor the crash recovery code. For versions < 4 the crash recovery
code relied on the UNDO FIFO first_offset and next_offset indexes in
the volume header to calculate the UNDO space that needed to be run.
For versions >= 4 the crash recovery code uses first_offset for the
beginning of the UNDO space and proactively scans the UNDO FIFO to
find the end of the space. This takes longer but allows HAMMER to
remove one of the two disk sync operations in the flush code.
* Split the crash recovery code into stage 1 and stage 2. Stage 2 will
be used to run REDO operations (REDO is not yet implemented).
Sascha Wildner [Sun, 1 Nov 2009 17:57:13 +0000 (18:57 +0100)]
installer: Join nrelease/root and nrelease/installer.
We don't support building installer-less ISOs out of the box so keeping
it separate doesn't make sense anymore.
Sascha Wildner [Sun, 11 Oct 2009 22:49:36 +0000 (00:49 +0200)]
installer: Show the name of the interface to configure.
Sascha Wildner [Sat, 31 Oct 2009 19:04:23 +0000 (20:04 +0100)]
clang: -nostdclanginc was renamed -nobuiltininc.
While here, clean up a bit.
Sascha Wildner [Sat, 31 Oct 2009 19:02:20 +0000 (20:02 +0100)]
clang: Suppress 'argument unused during compilation' warnings.
Sascha Wildner [Sat, 31 Oct 2009 10:46:17 +0000 (11:46 +0100)]
mandoc(1): Adjust section titles.
Matthew Dillon [Sat, 31 Oct 2009 01:29:04 +0000 (18:29 -0700)]
HAMMER - Fix cursor tracking bugs and a few other issues
* When recursively removing empty internal nodes from the B-Tree only
call hammer_cursor_deleted_element() if the related internal
element is actually removed. The element might not be removed due
to the deadlock fail path.
* If hammer_cursor_up_locked() fails fully restore the cursor before
returning. The index field was not being restored.
* Acquire the sync lock when recovering a cursor lost due to a deadlock
in the mirroring code.
* Document and fix an issue in the rebalancing code which could cause a
cursor to fall off the end of the B-Tree.
Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx>
Sascha Wildner [Fri, 30 Oct 2009 23:57:05 +0000 (00:57 +0100)]
make.conf.5: Add documentation for BINUTILSVER and DEBUG_FLAGS.
While here, sync a couple of descriptions with the current state of
things.
Simon Schubert [Thu, 29 Oct 2009 17:23:30 +0000 (10:23 -0700)]
binutils220: the amd64 target is called x86_64
Simon Schubert [Thu, 29 Oct 2009 14:58:38 +0000 (15:58 +0100)]
Makefile.inc1: introduce WORLD_BINUTILSVER
WORLD_BINUTILSVER can be used to set the binutils version to be used
as ctools when building world, as opposed to BINUTILSVER, which sets the
binutils version to be used for building the ctools.
Simon Schubert [Thu, 29 Oct 2009 14:56:08 +0000 (15:56 +0100)]
libm: fnstsw only takes a 16bit argument
Binutils-2.20 gas polices more strictly and does not accept 32bit
arguments to the fnstsw opcode. Please it by declaring all arguments as
__uint16_t. This possibly even fixes some latent bugs due to missing
initialization of the top 16 bits.
Simon Schubert [Thu, 29 Oct 2009 14:53:56 +0000 (15:53 +0100)]
gdb/binutils220: don't terminate bfd target list prematurely
We must not insert a NULL field into the list of targets, since
targets.c appends some default vectors (namely binary and hex, etc.).
With the NULL termination, these vectors never show up.
Simon Schubert [Thu, 29 Oct 2009 02:35:34 +0000 (03:35 +0100)]
binutils220: don't mix all DPADD into LDADD
We don't want libz's DPADD to be pulled into LDADD lateron, so nicely
assign all paths to both DPADD and LDADD.
Sascha Wildner [Thu, 29 Oct 2009 10:35:49 +0000 (11:35 +0100)]
mandoc(1): Update to 1.9.11.
Taken-from: OpenBSD
Simon Schubert [Thu, 29 Oct 2009 02:11:58 +0000 (03:11 +0100)]
imgact_elf: use correct offset when bouncing .note data
We have to copy to data+firstlen, not firstoff, since firstoff is
relative to page and not to data.
Simon Schubert [Thu, 29 Oct 2009 01:38:13 +0000 (02:38 +0100)]
imgact_elf: accept .note.ABI-tag sections located anywhere
This follows up on commit
d9f47b9b82dc9e762119fd00267eef9a0268680a.
While our current build infrastructure now produces binaries which can
be read properly by the kernel, this does not hold true for any non-base
linker, particularly binutils compiled directly from source, or even the
recent binutils-2.20 import.
Instead of relying on local modifications to the Elf linker scripts,
bite the bullet and make the kernel deal with PT_NOTE sections that lie
outside the first page.
Simon Schubert [Wed, 28 Oct 2009 11:52:53 +0000 (12:52 +0100)]
Merge branch 'gcc442'
Simon Schubert [Wed, 28 Oct 2009 11:52:45 +0000 (12:52 +0100)]
Merge branch 'bu220'
Simon Schubert [Tue, 27 Oct 2009 00:31:15 +0000 (01:31 +0100)]
binutils220: hook into build
Simon Schubert [Wed, 28 Oct 2009 11:47:52 +0000 (12:47 +0100)]
binutils220: add our build infrastructure
Simon Schubert [Wed, 28 Oct 2009 11:45:58 +0000 (12:45 +0100)]
binutils220: add local modifications
Simon Schubert [Wed, 28 Oct 2009 11:45:52 +0000 (12:45 +0100)]
binutils220: add our READMEs
Simon Schubert [Wed, 28 Oct 2009 11:40:16 +0000 (12:40 +0100)]
Merge branch 'vendor/BINUTILS220' into bu220
Simon Schubert [Wed, 28 Oct 2009 09:53:46 +0000 (10:53 +0100)]
Import binutils-2.20
Simon Schubert [Wed, 28 Oct 2009 11:32:06 +0000 (12:32 +0100)]
gcc44: adjust build infrastructure for gcc-4.4.2
Simon Schubert [Wed, 28 Oct 2009 10:03:25 +0000 (11:03 +0100)]
gcc44: drop questionable local modifications
Simon Schubert [Wed, 28 Oct 2009 11:29:41 +0000 (12:29 +0100)]
gcc44: add our local modifications
Simon Schubert [Wed, 28 Oct 2009 11:24:28 +0000 (12:24 +0100)]
gcc44: update our READMEs
Simon Schubert [Wed, 28 Oct 2009 11:23:16 +0000 (12:23 +0100)]
Merge branch 'vendor/GCC44' into gcc442
Simon Schubert [Wed, 28 Oct 2009 09:30:59 +0000 (10:30 +0100)]
Import gcc-4.4.2
Sascha Wildner [Tue, 27 Oct 2009 20:58:25 +0000 (21:58 +0100)]
cpdup(1): trans is NULL here, so don't print trans->id.
Sascha Wildner [Tue, 27 Oct 2009 08:42:29 +0000 (09:42 +0100)]
Bring in OpenBSD's mandoc(1) tool for formatting manual pages.
It's not (yet) used by anything but it is quite useful for
error checking.
Thanks to Kristaps Dzonsons and OpenBSD!
Sascha Wildner [Mon, 26 Oct 2009 15:37:44 +0000 (16:37 +0100)]
Sync zoneinfo database with tzdata2009p from elsie.
southamerica: 8.37 -> 8.40
Most of Argentina is not using DST in 2009-2010, but the San Juan
province is.
Simon Schubert [Mon, 26 Oct 2009 10:28:35 +0000 (11:28 +0100)]
sh: fix spurious newline slips in backquote expansion
From FreeBSD revision 1.43:
Instead of eating trailing newlines after inserting them into the
output buffer, don't insert them at all. This prevents a buffer
*underrun* when the substitution consists completely of newlines
(e.g. `echo`) and the byte before the source buffer to which p
points is a '\n', in which case more characters would be removed
from the output buffer than were inserted.
DragonFly-bug: <http://bugs.dragonflybsd.org/issue1588>
Simon Schubert [Mon, 26 Oct 2009 00:15:37 +0000 (01:15 +0100)]
cmp: honor -x also for special files
Sascha Wildner [Sun, 25 Oct 2009 22:33:55 +0000 (23:33 +0100)]
mdoc cleanup: Fix some column lists (add .It).
Sascha Wildner [Sun, 25 Oct 2009 19:39:21 +0000 (20:39 +0100)]
nextboot.8: Remove duplicate DESCRIPTION section.
Sascha Wildner [Sun, 25 Oct 2009 19:24:01 +0000 (20:24 +0100)]
mdoc cleanup: Fix mangled NAME sections.
Stathis Kamperis [Sat, 24 Oct 2009 18:09:32 +0000 (21:09 +0300)]
mqueues: Implement S_TYPEISMQ() macro.
Since Issue 6 of POSIX standard S_TYPEISMQ(), S_TYPEISSEM() and
S_TYPEISSHM() macros are unconditionally mandated. Here we add
support for the message queues only.
Sascha Wildner [Sat, 24 Oct 2009 20:55:30 +0000 (22:55 +0200)]
mdoc: No '.' is needed for .Ud
Sascha Wildner [Sat, 24 Oct 2009 20:47:07 +0000 (22:47 +0200)]
Remove some useless tabs in two manual pages.
Sascha Wildner [Sat, 24 Oct 2009 20:34:55 +0000 (22:34 +0200)]
Fix some references in a couple of manual pages.
Sascha Wildner [Sat, 24 Oct 2009 20:33:46 +0000 (22:33 +0200)]
Fix -offset -indent -> -offset indent in two manual pages.
Sascha Wildner [Sat, 24 Oct 2009 19:33:50 +0000 (21:33 +0200)]
chpass.1: mdoc will care about multiple authors itself.
Sascha Wildner [Sat, 24 Oct 2009 19:33:31 +0000 (21:33 +0200)]
dc.1: Add missing .Os
Sascha Wildner [Sat, 24 Oct 2009 08:14:00 +0000 (10:14 +0200)]
ps(1): Remove dead initialization.
Sascha Wildner [Sat, 24 Oct 2009 08:13:53 +0000 (10:13 +0200)]
pax(1): Remove dead initialization.
Sascha Wildner [Sat, 24 Oct 2009 08:13:23 +0000 (10:13 +0200)]
mkdir(1): Remove dead initialization.
Sascha Wildner [Sat, 24 Oct 2009 08:12:52 +0000 (10:12 +0200)]
ls(1): Remove dead initialization.
Sascha Wildner [Sat, 24 Oct 2009 08:11:58 +0000 (10:11 +0200)]
cpdup(1): Remove dead initialization.
Sascha Wildner [Sat, 24 Oct 2009 08:11:16 +0000 (10:11 +0200)]
cp(1): When continuing, badcp will be automatically set to 0.
Sascha Wildner [Sat, 24 Oct 2009 08:10:23 +0000 (10:10 +0200)]
chio(1): cesr_flags needs to be initialized before we can |= later.
Simon Schubert [Fri, 23 Oct 2009 20:47:31 +0000 (22:47 +0200)]
ps: print /dev/pts/* as numbers, not as "pts"
Sascha Wildner [Fri, 23 Oct 2009 18:19:20 +0000 (20:19 +0200)]
apmd(8): Fix a warning and raise WARNS to 2.
BATTTIME and BATTPERCENT are in fact int.
Simon Schubert [Thu, 22 Oct 2009 10:02:37 +0000 (12:02 +0200)]
bsd.dep.mk: correctly sequence .depend* and generated sources
If depend files are paritioned, we need to make sure that all .depend*
files have generated files from SRCS in their sources, otherwise a
mkdep might run before all necessary headers have been generated.
Noticed-by: swildner@
Antonio Huete [Sun, 18 Oct 2009 14:25:04 +0000 (16:25 +0200)]
devfs - Rework write-opening cases for disk devices.
Reported-by: Jan Lentfer <Jan.Lentfer@web.de>
Dragonfly-bug: http://bugs.dragonflybsd.org/issue1570
Antonio Huete [Mon, 19 Oct 2009 07:21:30 +0000 (09:21 +0200)]
hammer: Reverse logic in MOPT_HAMMEROPTS
Reported-by: Jan Lentfer <Jan.Lentfer@web.de>
Dragonfly-bug: http://bugs.dragonflybsd.org/issue1569
Antonio Huete Jimenez [Mon, 19 Oct 2009 14:43:49 +0000 (07:43 -0700)]
_timespec.h: Fix a comment
Sascha Wildner [Wed, 21 Oct 2009 17:56:32 +0000 (19:56 +0200)]
fortunes2: Fix typo
Sascha Wildner [Wed, 21 Oct 2009 17:56:03 +0000 (19:56 +0200)]
make.conf.5: Remove BUGS section.
etc/defaults/make.conf and the make.conf(5) are compared daily and
have not been out of sync for a long time.
Simon Schubert [Wed, 21 Oct 2009 11:38:21 +0000 (13:38 +0200)]
Merge branch 'gdb7'
Sepherosa Ziehau [Wed, 21 Oct 2009 10:48:11 +0000 (18:48 +0800)]
rl(4): Read IDR to extract MAC address for unknown 8139 chips
Obtained-from: FreeBSD
Submitted-by: Saifi Khan <saifi.khan@datasynergy.org>
Sepherosa Ziehau [Wed, 21 Oct 2009 10:43:55 +0000 (18:43 +0800)]
busdma: Put alignment/boundary check failure logging under bootverbose
Simon Schubert [Mon, 19 Oct 2009 10:47:47 +0000 (12:47 +0200)]
gdb: update build infrastructure for gdb-7
Simon Schubert [Mon, 19 Oct 2009 11:21:34 +0000 (13:21 +0200)]
gdb: add our changes
Simon Schubert [Mon, 19 Oct 2009 11:01:01 +0000 (13:01 +0200)]
gdb: add our READMEs
Simon Schubert [Tue, 20 Oct 2009 22:47:05 +0000 (00:47 +0200)]
Merge branch 'vendor/GDB' into gdb7
Simon Schubert [Mon, 19 Oct 2009 10:56:56 +0000 (12:56 +0200)]
gdb: GC old versions
Simon Schubert [Mon, 19 Oct 2009 10:55:02 +0000 (12:55 +0200)]
Import gdb-7.0
Antonio Huete [Tue, 20 Oct 2009 09:21:04 +0000 (11:21 +0200)]
loader(8): Add multi-root selection documentation.
Sascha Wildner [Tue, 20 Oct 2009 07:10:27 +0000 (09:10 +0200)]
Sync zoneinfo database with tzdata2009o from elsie.
asia: 8.41 -> 8.42
australasia: 8.13 -> 8.14
* Bangladesh will stay on DST until the cabinet makes a fresh decision.
* Pakistan will end DST on November 1 (instead of October 1).
* Samoa is not starting DST in 2009 (comments only).
Alexander Polakov [Mon, 19 Oct 2009 18:48:30 +0000 (22:48 +0400)]
Root fallback support.
vfs.root.mountfrom can now be specified as a list, separated by ';'
Simon Schubert [Sat, 17 Oct 2009 12:05:08 +0000 (14:05 +0200)]
core dumps: don't claim we are FreeBSD
Our elf core dump format (slightly) changed before, and we could only
convince gdb to work nicely by changing gdb's FreeBSD support. Now fix
it the right way by not claiming that we are FreeBSD.
At the same time, change the way tids are stored in the elf notes. This
is actually like FreeBSD does it.
Simon Schubert [Sat, 17 Oct 2009 12:03:26 +0000 (14:03 +0200)]
libedit: add readline compat rl_completion_word_break_hook
This follows roughly what is described in the readline manual.
rl_completion_word_break_hook is needed by gdb-7.
Simon Schubert [Mon, 19 Oct 2009 10:29:35 +0000 (12:29 +0200)]
bsd.dep.mk: don't build .depend every time
My last commits had introduced a dependency issue which made .depend to
be built again every time. This commit addresses this issue by not
deleting the intermediate .depend_${grp} files.
Also change the .depend generation so that no .depend__ is generated,
but output is directly sent to .depend.
Simon Schubert [Mon, 19 Oct 2009 10:26:36 +0000 (12:26 +0200)]
tools/genreadmedeleted: chmod +x
Stathis Kamperis [Mon, 19 Oct 2009 08:48:43 +0000 (11:48 +0300)]
mq_*.2: .Nx -> .Dx
Stathis Kamperis [Sat, 17 Oct 2009 15:39:45 +0000 (18:39 +0300)]
mqueues: Remove left-over commented out code.
Stathis Kamperis [Sat, 17 Oct 2009 15:18:59 +0000 (18:18 +0300)]
mqueues: Remove left-over commented out code.
Stathis Kamperis [Sat, 17 Oct 2009 14:20:06 +0000 (17:20 +0300)]
mqueues: Remove unused variable.
Matthew Dillon [Fri, 16 Oct 2009 20:45:24 +0000 (13:45 -0700)]
HAMMER - Fix bug in 'hammer cleanup' when deleting snapshots
* When deleting more then 16 snapshots the dsnapshot.count field was not
being properly cleared, resulting in later ioctls failing.
* Adjust error and warning messages to provide the proper context.
* Do not try to delete meta-data snapshots with a transaction id of 0, just
in case a degenerate softlink is created. The VFS will not allow it
and the ioctl will fail.
Matthew Dillon [Fri, 16 Oct 2009 20:20:06 +0000 (13:20 -0700)]
HAMMER - more fixes to snapshot softlink generation
* Instead of generating "<directory>/@@0x<transid>" we want
to generate "<directory>@@0x<transid>" (without the /).
Otherwise if the directory is rm -rf'd and recreated, the
snapshot will be pointing to the wrong place.
Matthew Dillon [Fri, 16 Oct 2009 20:14:25 +0000 (13:14 -0700)]
HAMMER - Fix 'snapq' directive - softlink constructed improperly
Matthew Dillon [Thu, 15 Oct 2009 17:12:55 +0000 (10:12 -0700)]
HAMMER - Fix 64-bit compile-time error.
Reported-by: "Simon 'corecode' Schubert" <corecode@fs.ei.tum.de>
Antonio Huete [Thu, 15 Oct 2009 11:27:18 +0000 (13:27 +0200)]
securelevel - Fix disk accessing with high secure level.
Matthew Dillon [Thu, 15 Oct 2009 01:19:15 +0000 (18:19 -0700)]
HAMMER - Add additional warnings for v2/v3 upgrades, fix bug in snaprm
* Add warnings related to backup scripts when upgrading from V2 to V3.
The synctid directive does not generate a snapshot. You should generate
a real snapshot to properly track them.
Also, removing a snapshot softlink does not remove the meta-data and
thus the pruning code will continue to prune around that snapshot.
The snaprm directive should be used when removing snapshot softlinks
to also remove the meta-data.
* Snaprm now uses the current directory when removing a transaction id
and no target directory was specified.
* Snaprm now makes it clear that a failure to remove meta-data when
removing a softlink is just a warning, not a fatal error.
Matthew Dillon [Thu, 15 Oct 2009 01:07:01 +0000 (18:07 -0700)]
HAMMER - Add upgrade instructions to the manual page, fix bug in snaprm
* Added upgrade instructions for V1->V2 and V2->V3
* Fixed a bug when running hammer snaprm on a softlink which references
a snapshot in a PFS other then the one containing the softlink.
Matthew Dillon [Thu, 15 Oct 2009 00:26:55 +0000 (17:26 -0700)]
HAMMER - Enhance cleanup utility for HAMMER v3
* For each PFS if the snapshots directory has not been overridden in
the PFS config it will be migrated from <fs>/snapshots to
/var/hammer/<path_from_root>. The snapshots directory for the
root directory itself will be called /var/hammer/root. The old
<fs>/snapshots directory will then removed.
If a PFS has a snapshots directory config set no migration will
occur. Users can migrate it manually and then clear the snapshots
directory in the PFS config if they desire. We can't do it
automatically because users might use this mechanic to mix snapshots
with the live backup and needless to say cpdup()ing a live backup
into /var is probably a bad idea.
* Fix a bug when generating softlinks in a directory that is not
under the PFS being snapshotted.
* Add an optional third argument to the 'hammer snapshot' directive
to allow a meta-data note to be specified. The meta-data entry
is created whether you specify a note or not.
Matthew Dillon [Wed, 14 Oct 2009 20:46:22 +0000 (13:46 -0700)]
HAMMER - Correct bug in last commit. hammer cleanup snapshot command.
* hammer cleanup was generating a bad directive when trying to run the
snapshot command.