Commit Graph

25 Commits

Author SHA1 Message Date
Joe Thornber 29cfdd8979 [space-maps/core] rewrite the core space map to use less memory. 2020-05-27 12:00:40 +01:00
Joe Thornber e801cc607b [block_manager] Hard code block size to 4k.
We're never going to use anything other than 4k, and by hard coding it we
avoid making block_manager a template.
2020-04-30 14:30:01 +01:00
Joe Thornber 767c39cf71 [build] switch to c++11
Conflicts:
	Makefile.in
	chunker/cache_stream.cc
	chunker/cache_stream.h
	thin-provisioning/thin_archive.cc
	thin-provisioning/thin_show_duplicates.cc
	unit-tests/Makefile.in
2016-02-16 16:45:44 +00:00
Joe Thornber a7c96c0e1e [everything] Fix circular shared pointer references.
We had a cycle from transaction_manager <-> space_map, and also from
the ref_counters back up to the tm.

This prevented objects being destroyed when various programs exited.

From now on we'll try and only use a shared ptr if ownership is
implied.  Otherwise a reference will be used (eg, for up pointers).
2014-08-26 11:14:49 +01:00
Joe Thornber d517684c95 Initial code drop for merging block_cache 2014-07-22 16:41:39 +01:00
Joe Thornber 8531a2befa [era] switch from bloom filters to writesets 2014-01-29 21:37:25 +00:00
Joe Thornber 65cf07597e [btree_t] remove some debug output 2013-06-20 14:37:14 +01:00
Joe Thornber 83a09e1a2a [btree] use a block_ref_counter for internal nodes 2013-06-20 14:29:48 +01:00
Joe Thornber 76bbfcb891 [btree_t] add failing clone test 2013-06-19 17:17:45 +01:00
Joe Thornber a828cde96d [btree] visitor now passed as a reference rather than shared_ptr 2013-05-02 12:31:33 +01:00
Joe Thornber 5d0b23beea Some btree visitor tidying.
Introduce node_location to replace the long list of parameters.  Also
add a depth field to keep track of the depth from root.
2013-05-01 16:16:23 +01:00
Joe Thornber a018647d0a btree_t -> gmock 2013-03-22 14:57:46 +00:00
Joe Thornber 23b48f0c54 [unit-tests] Update block_manager constructors to use the block_io<>::mode param. 2013-01-15 05:31:48 +00:00
Joe Thornber aacca8d963 Introduce persistent-data/data-structures/ 2013-01-11 19:26:51 +00:00
Joe Thornber 326fd3408b move space maps to their own sub directory 2013-01-10 21:36:38 +00:00
Joe Thornber 3e39e8bfeb A big raft of changes to the unit-tests 2013-01-09 20:24:11 +00:00
Heinz Mauelshagen 8cf27fdbb0 Correct copyright year 2011-12-15 19:34:31 +01:00
Joe Thornber bfe22274d9 actually add the copyright 2011-12-06 13:53:05 +00:00
Joe Thornber cc9dab3ead --amend 2011-12-06 13:43:56 +00:00
Joe Thornber 9cee046594 fix a bug in btree lookup 2011-11-01 11:32:29 +00:00
Joe Thornber 9cfdbfb8cc Having the block size as a template parameter makes all the code very
verbose, and we're not likely to change it.  So this change removes
that template arg from everything except the block manager.
2011-08-31 13:04:08 +01:00
Joe Thornber a285fee757 get unit-tests working with g++ 4.4 2011-08-30 12:47:42 +01:00
Joe Thornber 29c2831f3e [btree_t] check for duplicate blocks 2011-08-22 14:14:10 +01:00
Joe Thornber 4d37416075 [btree] allow people to visit all the nodes in a btree. 2011-08-22 11:55:55 +01:00
Joe Thornber 9be40b76b5 create a separate unit-tests dir 2011-08-22 10:42:13 +01:00