Rusty Russell [Sun, 19 Jul 2009 01:44:41 +0000 (11:14 +0930)]
merge
Rusty Russell [Sat, 18 Jul 2009 08:38:05 +0000 (18:08 +0930)]
Short types
Rusty Russell [Sat, 18 Jul 2009 08:29:57 +0000 (17:59 +0930)]
talloc_link; a replacement for talloc's references.
Rusty Russell [Sat, 18 Jul 2009 08:28:58 +0000 (17:58 +0930)]
_info files are no longer to be ignored, since we renamed them from _info.c
Rusty Russell [Sat, 18 Jul 2009 08:26:54 +0000 (17:56 +0930)]
License for talloc is actually LGPL.
Rusty Russell [Sat, 18 Jul 2009 08:13:33 +0000 (17:43 +0930)]
talloc_free() should take a const void *, a-la free().
Joey Adams [Sat, 18 Jul 2009 07:52:53 +0000 (03:52 -0400)]
Improved stringmap to support strings with null characters
Rusty Russell [Sat, 18 Jul 2009 05:57:40 +0000 (15:27 +0930)]
Merge.
Rusty Russell [Sat, 18 Jul 2009 04:45:28 +0000 (14:15 +0930)]
Automate rerunning when we have to back off: gives accurate(ish) timings.
Rusty Russell [Fri, 17 Jul 2009 07:29:58 +0000 (16:59 +0930)]
Cleanup variable names.
struct op: serial -> seqnum (and drop use of term "serial" everywhere).
struct op: op -> type
struct op_desc: general replacement for file/op_num pair.
Change add_dependency to take two const op_desc *: means reshuffle since we can't adjust the args any more.
Rusty Russell [Fri, 17 Jul 2009 05:21:55 +0000 (14:51 +0930)]
Add handling of reduced test cases (traverse lines trimmed), and add all the test cases I've been using.
Rusty Russell [Fri, 17 Jul 2009 05:21:44 +0000 (14:51 +0930)]
Completely unhobble tdbtorture.
Rusty Russell [Fri, 17 Jul 2009 04:49:03 +0000 (14:19 +0930)]
Oops, forgot to check in new keywords files :(
Rusty Russell [Fri, 17 Jul 2009 04:38:12 +0000 (14:08 +0930)]
YA corner case: help assumption by putting cancelled transactions first.
Rusty Russell [Fri, 17 Jul 2009 03:43:58 +0000 (13:13 +0930)]
Leave groups of chainlock inside traverse.
Rusty Russell [Fri, 17 Jul 2009 03:31:52 +0000 (13:01 +0930)]
tdb_chainlock/tdb_chainunlock et. al. support.
Joey Adams [Thu, 16 Jul 2009 21:32:38 +0000 (17:32 -0400)]
Rusty's cleanup to ciniparser.c's strstrip and strlwc
Rusty Russell [Thu, 16 Jul 2009 08:37:14 +0000 (18:07 +0930)]
Handle global_lock properly in tdb_transaction_lock/unlock.
Rusty Russell [Thu, 16 Jul 2009 08:36:10 +0000 (18:06 +0930)]
Fix tracing for tdb_chainunlock.
Rusty Russell [Thu, 16 Jul 2009 07:19:23 +0000 (16:49 +0930)]
Minor optimization: don't make a dependency between two traverse_reads.
Rusty Russell [Thu, 16 Jul 2009 06:10:43 +0000 (15:40 +0930)]
Cleanup: rename is_* to starts_*, move functions together, factor out start finding code.
Rusty Russell [Thu, 16 Jul 2009 04:19:25 +0000 (13:49 +0930)]
Clean up traverse keyword handling.
Rusty Russell [Thu, 16 Jul 2009 03:26:07 +0000 (12:56 +0930)]
Partial ordering of traverses: reduces number of deadlocks by factor of 10.
Rusty Russell [Thu, 16 Jul 2009 01:59:16 +0000 (11:29 +0930)]
Fix logic bug; we weren't checking last requirement in sort_deps.
Rusty Russell [Thu, 16 Jul 2009 01:58:33 +0000 (11:28 +0930)]
Implement timeout for the deadlock of traverse & transactions.
This has proven to be intractible: various attempts to eliminate have failed, so detect at runtime and cease the traversal (and do the remaining ops outside a traverse).
Rusty Russell [Thu, 16 Jul 2009 01:03:52 +0000 (10:33 +0930)]
Open database with TDB_NOSYNC to speed it up a little.
Joey Adams [Wed, 15 Jul 2009 21:48:32 +0000 (17:48 -0400)]
Added run-dictionary.c test to ciniparser
Joey Adams [Wed, 15 Jul 2009 21:29:38 +0000 (17:29 -0400)]
Tiny fix to stringmap's run.c
Rusty Russell [Wed, 15 Jul 2009 13:43:55 +0000 (23:13 +0930)]
Fix sequence logic bug, and satisfies() logic fix/cleanup.
Rusty Russell [Wed, 15 Jul 2009 05:27:49 +0000 (14:57 +0930)]
Handle transactions!
Note: we can still deadlock on traversal vs transaction corner cases.
We handle transactions as single operation, which it logically is.
Joey Adams [Wed, 15 Jul 2009 05:19:52 +0000 (01:19 -0400)]
Added module stringmap
Rusty Russell [Wed, 15 Jul 2009 05:16:30 +0000 (14:46 +0930)]
Fix sequence numbers when tracing transaction.
If we do the trace inside the lock, we show the actual sequence number when the transaction started.
Rusty Russell [Wed, 15 Jul 2009 03:49:35 +0000 (13:19 +0930)]
Insert (implied) transaction cancel on tdb_close/EOF.
Also changes first member of transaction to have valid start_group field,
and fix outdated comment.
Rusty Russell [Wed, 15 Jul 2009 01:37:32 +0000 (11:07 +0930)]
Print seq numbers on timeout dump
(Invasive: means passing full op array all the way through).
Joey Adams [Wed, 15 Jul 2009 01:36:37 +0000 (21:36 -0400)]
Added module block_pool
Rusty Russell [Tue, 14 Jul 2009 12:34:36 +0000 (22:04 +0930)]
Fix early transaction unlock when traverse done inside transaction.
Generalizes traverse in traverse fix from rusty@rustcorp.com.au-
20090629073630-3eduhyypx2tp6u80
Rusty Russell [Tue, 14 Jul 2009 12:15:52 +0000 (21:45 +0930)]
Fix null ptr deref on TDB_TRACE with internal db.
Rusty Russell [Tue, 14 Jul 2009 09:33:43 +0000 (19:03 +0930)]
Remove trivial traverse code, simplify.
We now use the "group_len" field for both transactions and traversals.
Rusty Russell [Tue, 14 Jul 2009 05:51:23 +0000 (15:21 +0930)]
Fix logic bug in optimizer, and fix up DEBUG_DEPS compile.
Rusty Russell [Tue, 14 Jul 2009 02:20:26 +0000 (11:50 +0930)]
More dependency optimization: seems to happen with transactions enabled.
Rusty Russell [Mon, 13 Jul 2009 06:19:52 +0000 (15:49 +0930)]
More general solution for serial number misorders.
Make sort_deps more efficient, and also only alter order when necessary. This means by default we run in serial number order, only going outside when we detect a dependency.
Maintain trace file order in original sort, so sort_deps doesn't mess it up.
We still need serial numbers: sort_deps can have multiple solutions for a single key, but these may deadlock with the ordering requirements of other keys. By sticking close to the actual order (ie. serial order), we minimize the chance of this happening.
Rusty Russell [Mon, 13 Jul 2009 02:14:40 +0000 (11:44 +0930)]
Optimize to reduce extraneous dependencies.
In my tdbtorture -n 4 example trace, this reduces from 14493 to 3210 dependencies, but doesn't make any measurable improvement in the time. Still, it's simple to do and might make a difference for larger sets.
Rusty Russell [Mon, 13 Jul 2009 02:06:50 +0000 (11:36 +0930)]
Belated checkin of keywords.
Rusty Russell [Mon, 13 Jul 2009 01:48:05 +0000 (11:18 +0930)]
Simplify dependencies by passing pointers over the pipe: avoid O(n^2) behaviour for searching.
Also, using a single structure makes talloc_free convenient for when we do optimization.
Rusty Russell [Mon, 13 Jul 2009 01:25:39 +0000 (10:55 +0930)]
Slightly more sophisticated dependency generation: fixes traverse interaction.
Rusty Russell [Sun, 12 Jul 2009 12:51:52 +0000 (22:21 +0930)]
Missed part of patch.
Rusty Russell [Sun, 12 Jul 2009 12:48:09 +0000 (22:18 +0930)]
Get more sophisticated with resolving duplicate serial numbers.
Still deadlocks in one case, due to spurious dependencies inside traversals. See next commit.
Joey Adams [Sun, 12 Jul 2009 03:10:39 +0000 (23:10 -0400)]
Make tokenizer throw error on empty char literal, along with some slight cleanups in ccan_tokenizer.h
Joey Adams [Thu, 9 Jul 2009 07:53:20 +0000 (03:53 -0400)]
Make ccanlint core objects depend on generated-init-tests to fix build error
Joey Adams [Thu, 9 Jul 2009 07:19:13 +0000 (03:19 -0400)]
Small fix to read_cstring for reading \? .
Rusty Russell [Wed, 8 Jul 2009 05:47:53 +0000 (15:17 +0930)]
Traverses seem to work now. Also, much better reporting of deadlocks.
Rusty Russell [Wed, 8 Jul 2009 00:55:27 +0000 (10:25 +0930)]
First attempt at transactions & traverse (deadlocks still).
Rusty Russell [Tue, 7 Jul 2009 22:19:58 +0000 (07:49 +0930)]
Fix uninitialized var.
Rusty Russell [Tue, 7 Jul 2009 13:03:44 +0000 (22:33 +0930)]
... and fix up keyword list.
Rusty Russell [Tue, 7 Jul 2009 13:02:24 +0000 (22:32 +0930)]
Fix last minute warning "fix" in replay_trace.c, remove seqnum inc tracing.
Rusty Russell [Tue, 7 Jul 2009 11:04:44 +0000 (20:34 +0930)]
Better tdb tracing, start of decent replay_trace.
Rusty Russell [Tue, 7 Jul 2009 03:45:49 +0000 (13:15 +0930)]
const addition changes from brian, awfulhak.org
Joey Adams [Fri, 3 Jul 2009 05:46:46 +0000 (01:46 -0400)]
Added module ccan_tokenizer from snapshot at:
http://www.funsitelots.com/ccan/ccan_tokenizer-
20090703.tar.bz2
Rusty Russell [Thu, 2 Jul 2009 03:32:39 +0000 (13:02 +0930)]
More junkcode!
Rusty Russell [Thu, 2 Jul 2009 03:26:25 +0000 (12:56 +0930)]
New junkcode.
Rusty Russell [Mon, 29 Jun 2009 11:40:35 +0000 (21:10 +0930)]
Torture harder: random ops inside traverses.
Rusty Russell [Mon, 29 Jun 2009 09:23:23 +0000 (18:53 +0930)]
Don't make assumptions about traverse order, and prove it by using a different hash.
Rusty Russell [Mon, 29 Jun 2009 09:23:04 +0000 (18:53 +0930)]
Handle tracing on internal dbs.
Rusty Russell [Mon, 29 Jun 2009 07:36:30 +0000 (17:06 +0930)]
Fix traverse nesting unlock bug.
Rusty Russell [Mon, 29 Jun 2009 02:28:44 +0000 (11:58 +0930)]
zero-append test for tdb.
Rusty Russell [Mon, 29 Jun 2009 02:17:52 +0000 (11:47 +0930)]
Fix append of zero-length records to zero-length records.
realloc() has that horrible overloaded free semantics.
Rusty Russell [Mon, 29 Jun 2009 02:17:20 +0000 (11:47 +0930)]
Fix theoretical problem with 0-length records.
By faking them out to length 1, we might go oob. Just fake the malloc.
Rusty Russell [Sun, 28 Jun 2009 01:21:57 +0000 (10:51 +0930)]
First cut of replay_trace for tdb.
Rusty Russell [Tue, 23 Jun 2009 13:21:49 +0000 (22:51 +0930)]
Tracing for tdb operations.
Rusty Russell [Mon, 22 Jun 2009 11:17:39 +0000 (20:47 +0930)]
ccanize tdb further, and add simple test.
Rusty Russell [Thu, 18 Jun 2009 09:08:03 +0000 (18:38 +0930)]
First step to ccanizing TDB.
Rusty Russell [Tue, 16 Jun 2009 06:14:44 +0000 (15:44 +0930)]
Initial TDB import.
Rusty Russell [Sun, 7 Jun 2009 03:10:47 +0000 (12:40 +0930)]
Convert to 64 bit crcs: change semantics of crcbits field to be *upper* not *lower* bits.
Rusty Russell [Sun, 7 Jun 2009 03:03:19 +0000 (12:33 +0930)]
Implement a (poor?) 64-bit CRC.
Rusty Russell [Sun, 7 Jun 2009 02:18:37 +0000 (11:48 +0930)]
64-bit CRC code.
Rusty Russell [Fri, 5 Jun 2009 07:36:24 +0000 (17:06 +0930)]
Fix ubuntu "ignoring return value" warnings.
Rusty Russell [Fri, 5 Jun 2009 07:32:24 +0000 (17:02 +0930)]
Implementation of auto-depends, based on Idris's start.
Rusty Russell [Fri, 5 Jun 2009 07:24:04 +0000 (16:54 +0930)]
Many list funcs should work with constant lists.
Rusty Russell [Sun, 31 May 2009 03:08:03 +0000 (12:38 +0930)]
merge
Rusty Russell [Sun, 31 May 2009 03:00:07 +0000 (12:30 +0930)]
New junkcode.
Joey Adams [Fri, 29 May 2009 05:35:07 +0000 (01:35 -0400)]
Updated array module to version 0.1.1 .
Important change: array_pop no longer checks if the array has elements; use array_pop_check in its place.
Rusty Russell [Thu, 28 May 2009 04:54:10 +0000 (14:24 +0930)]
Rename _info.c to _info: this means we can simple compile *.c.
Rusty Russell [Thu, 28 May 2009 04:14:35 +0000 (13:44 +0930)]
Move ccanlint tests into subdirectories.
Rusty Russell [Thu, 28 May 2009 04:04:27 +0000 (13:34 +0930)]
Make ccanlint tests all positive: ie. "has _info.c file: FAILED".
Rusty Russell [Thu, 28 May 2009 03:56:51 +0000 (13:26 +0930)]
From: Joseph Adams <joeyadams3.14159@gmail.com>
I have given my array module a makeover (see attached
array-0.1.tar.bz2 ). Major changes are:
* All the macros have been renamed to flat array_* names. Instead of
Array, AInit, AAppend, etc., it is now array, array_init,
array_append, etc.. This will obviously break any applications
already using the array module (if any); 'renames' is the list of sed
commands I used to make the name changes.
* array (by default) now uses talloc functions instead of regular
malloc/realloc/free.
* All of the array macros have tests now.
Rusty Russell [Thu, 28 May 2009 03:54:24 +0000 (13:24 +0930)]
Joey's patch to ignore ccan/ lines in #include.
Rusty Russell [Thu, 28 May 2009 03:51:42 +0000 (13:21 +0930)]
Joey's template fixes.
Rusty Russell [Thu, 28 May 2009 03:49:33 +0000 (13:19 +0930)]
Store pristine contents of files: based on Joey's patch.
Rusty Russell [Thu, 23 Apr 2009 06:18:49 +0000 (15:48 +0930)]
More junkcode!
Rusty Russell [Thu, 23 Apr 2009 05:10:03 +0000 (14:40 +0930)]
New junkcode!
Rusty Russell [Wed, 15 Apr 2009 03:11:12 +0000 (12:41 +0930)]
Daemonize test.
Rusty Russell [Wed, 15 Apr 2009 02:47:28 +0000 (12:17 +0930)]
daemonize module
Rusty Russell [Thu, 9 Apr 2009 05:20:41 +0000 (14:50 +0930)]
Stephen: "It's portaudio, not libvorbis that needs version >= 19."
Rusty Russell [Thu, 9 Apr 2009 04:29:39 +0000 (13:59 +0930)]
Allow things without test/ dirs to be modules.
Allow versions on dependencies.
Display external dependencies on info pages.
Rusty Russell [Thu, 9 Apr 2009 01:11:53 +0000 (10:41 +0930)]
New module wwviaudio.
Also, add external depends to ogg_to_pcm.
Rusty Russell [Wed, 8 Apr 2009 05:06:39 +0000 (14:36 +0930)]
Module from smcameron@yahoo.com:
- Deleted test/ dir, since it was a noop.
Rusty Russell [Wed, 8 Apr 2009 03:14:59 +0000 (12:44 +0930)]
Delete moved file.
Rusty Russell [Tue, 7 Apr 2009 04:45:02 +0000 (14:15 +0930)]
Change arguments to crcsync code.
Rusty Russell [Tue, 7 Apr 2009 04:03:03 +0000 (13:33 +0930)]
Fix missing include in isaac's _info.c
Rusty Russell [Tue, 7 Apr 2009 03:31:30 +0000 (13:01 +0930)]
Joseph Adams updates to polynomial.