- 09 Sep, 2010 4 commits
-
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
As the locking issues with enlarging a hash were so nasty, we switch to a tree structure for the entries. It's a hash which expands to point to sub-hashes when it fills. This means we no longer have a 'volatile' header: the top hash cannot move. In fact, we no longer store a copy of the header in the tdb_context; we only need hash_seed. New helper functions for accessing writable areas and committing the results (if they had to be copied). New debug test to make sure we don't hold access while we're doing something which could cause us to unmap/remap. Find becomes more complicated: we need to track where we found (or didn't find) an entry so we can easily add/delete it. Traverse becomes more complicated: we need to track where we were in the hash tree.
-
Rusty Russell authored
-
- 03 Sep, 2010 6 commits
-
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
This eliminates all the "drop lock and retry" logic: we expand inside alloc().
-
Rusty Russell authored
We put the free lists at the beginning of a zone; this means no record can be larger than a zone, but means they cannot move. Once we change hashes to be expanding, they won't move either and the result should be simpler.
-
Rusty Russell authored
-
Rusty Russell authored
-
- 02 Sep, 2010 1 commit
-
-
Rusty Russell authored
-
- 30 Aug, 2010 16 commits
-
-
Rusty Russell authored
The unreserved headers were a real bug; the others could cause a false error too.
-
Rusty Russell authored
We were not actually recording valgrind failures in ccanlint!
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
These tests revealed more bugs with delete (rewritten) and hash enlargement.
-
Rusty Russell authored
-
Rusty Russell authored
Use hash_add() when resizing hash, too.
-
Rusty Russell authored
This explains why most of tdb_gradual_lock was not tested: thanks gcov!
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
eg. -v dumps percentage of coverage, -vv dumps per-line data, -vvv dumps every command executed.
-
Rusty Russell authored
-
Rusty Russell authored
-
- 28 Aug, 2010 2 commits
-
-
Rusty Russell authored
-
Rusty Russell authored
-
- 27 Aug, 2010 6 commits
-
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
This means parallel "make check" works again.
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
This prevents us from writing out gcov files.
-
- 26 Aug, 2010 5 commits
-
-
Rusty Russell authored
- Neaten I/O function - Don't use fill in zero_out: it's only for low-level ops. - Don't mangle arg in tdb_write_convert: it broke write_header. - More use of tdb_access_read, make it optionally converting. - Rename unlock_range to unlock_lists. - Lots of fixes to enlarge_hash now it's being tested. - More expansion cases tested.
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-