Commit Graph

1226 Commits

Author SHA1 Message Date
Joe Thornber
0730016cc2 [functional tests] Split out an (xml) library from (thin-xml)
Preparation for writing cache-xml and era-xml.
2017-08-17 11:55:18 +01:00
Joe Thornber
8fc8331404 [functional-tests] add show-tests.scm script which lists the tests. 2017-08-17 11:30:28 +01:00
Joe Thornber
66647ae549 [functional-tests] Tests are now identified by a list of symbols.
Improved formatting too.
2017-08-17 11:23:43 +01:00
Joe Thornber
08ebf0aa8a [functional-tests] split up main.scm 2017-08-15 16:07:45 +01:00
Joe Thornber
2b321c9a81 Merge branch '2017-08-08-rewrite-some-more-cucumber-tests' 2017-08-15 10:13:02 +01:00
Joe Thornber
36169d399c [unit-tests] add failing test.
You currently can get a read lock when a write lock is already held.
2017-08-14 14:20:59 +01:00
Joe Thornber
666a32da9c [block-cache] remove spurious FIXME 2017-08-14 14:12:05 +01:00
Joe Thornber
da3f9ca476 [block-cache] tidy hit/miss tracking 2017-08-14 14:11:53 +01:00
Joe Thornber
0a47ad5a85 [block-cache] remove BF_PREVIOUSLY_DIRTY and improve nr_dirty_ accounting. 2017-08-14 13:44:21 +01:00
Joe Thornber
a45ffd896a [block-cache] writeback could get stuck in a loop
If a block had a non zero ref count.
2017-08-14 10:40:41 +01:00
Joe Thornber
dfd066e59e [block-cache] remove unused var 2017-08-14 10:34:59 +01:00
Joe Thornber
398d53e0d6 [block-cache] add comment to stop me removing the list sizes again. 2017-08-14 10:17:56 +01:00
Joe Thornber
4489a9bae6 [block-cache] reverse earlier patch which took out manual counts for
nr_dirty etc.

The block list type doesn't have a constant time size() method.
2017-08-14 10:13:32 +01:00
Joe Thornber
7f7a7d6605 [functional tests] start thinking about a block cache interface.
I want to use FFI to link with a C library containing the actual block
cache, io engine and crc32 code.
2017-08-14 10:05:38 +01:00
Joe Thornber
b2355df719 [functional tests] we can now walk both levels of the mapping tree. 2017-08-12 19:27:21 +01:00
Joe Thornber
5e6ffbbd3a [functional tests] more work on decoding btrees 2017-08-11 15:41:57 +01:00
Joe Thornber
d0040a169d [functional tests] more work on the binary-format macro 2017-08-10 15:07:20 +01:00
Joe Thornber
78488e8909 [functional tests] add code to read btrees 2017-08-08 19:28:59 +01:00
Joe Thornber
57db3a2b99 [functional tests] Break up check-superblock.scm into separate
libraries
2017-08-08 11:47:37 +01:00
Joe Thornber
2f355f64ff [functional-tests] more experimenting with the define-binary macro 2017-08-08 11:21:41 +01:00
Joe Thornber
c90a7b9e2f [functional tests] first steps in parsing the binary format. 2017-08-05 21:18:32 +01:00
Joe Thornber
397d2006a5 [functional tests] a little bit of tidying 2017-08-03 16:12:58 +01:00
Joe Thornber
5389e8e65a [functional tests] Replace some of the cucumber tests.
Replace thin_check, thin_dump, thin_restore and thin_rmap functional
tests.
2017-08-03 15:20:50 +01:00
Joe Thornber
213d9d2075 [functional-tests] thin_check scenarios now work. 2017-08-02 13:42:37 +01:00
Joe Thornber
9ea1af5f4b [functional-tests] Get some trivial tests running. 2017-08-01 14:02:11 +01:00
Joe Thornber
53e3d5f962 [functional tests] upgrade to Ruby 2.4.1 2017-07-28 10:38:36 +01:00
Joe Thornber
0a06e4b21b [block-cache] Remove nr_dirty_ and nr_io_pending_.
Better to use the size of the relevant list.
2017-07-24 16:08:49 +01:00
Joe Thornber
467be1a69e Add some std namespaces to get tests building.
I guess a rogue header had previously been using the std namespace.
2017-07-24 15:40:17 +01:00
Joe Thornber
2c6278ed4b [block_cache] Be better about flushing dirty blocks on demand.
Dirty blocks could prevent a clean lock being given.  Patch from mingus.
2017-07-24 15:35:10 +01:00
Joe Thornber
b9009b53b6 [bcache_t] Add block cache test case for issue 80 2017-07-24 15:32:26 +01:00
Joe Thornber
209af19a02 [block manager] Don't allow the cache to be bigger than the block dev. 2017-07-24 15:28:23 +01:00
csonto
fd02dfa5bf Makefile: Conditional install of thin_trim (#81)
* Makefile: Conditional install of thin_trim

...and thin_show_duplicates symlinks.

The support for these is built only if --enable-dev-tools is used in
configure, thus we should install the symlinks conditionally.

* Conditional install of thin_trim man page
2017-07-24 09:55:45 +01:00
Ming-Hung Tsai
b7d418131d Spin-off syscall-related file operations (#78)
* [file_utils] spin-off syscall-related file operations

1. Eliminate the potential circular dependency between
   persistent-data/block.h and persistent-data/file_utils.h,
   if the former one wants to include the latter.
2. Avoid namespace pollution by removing the "using namespace std"
   declaration in block.tcc.
3. Correct the header hierarchy: base/xml_utils.h now no longer
   depends on the higher-level persistent-data/file_utils.h

* [file_utils] support block files in get_file_length()
2017-04-29 18:51:52 +01:00
Joe Thornber
8f25e1b234 [space-map-disk] optimise updating a ref count 2017-04-11 11:59:49 +01:00
Joe Thornber
db44b5b928 [space-map-disk] Keep track of the allocated prefix so we can start searching in a better place. 2017-04-11 09:40:08 +01:00
Joe Thornber
1a6b8bda3f [unit-test] update a cache metadtaa version test 2017-03-27 09:14:30 -04:00
Joe Thornber
0cdbffedc8 bump version 2017-03-27 09:00:54 -04:00
Joe Thornber
13323bd52c [cache_check] Don't even open the dev writeable if
--clear-needs-check-flag is not set
2017-03-27 08:58:56 -04:00
Joe Thornber
b0e0432737 [cache] dirty root wasn't being packed properly 2017-03-27 08:57:43 -04:00
Joe Thornber
501a042579 bump version 2017-03-21 12:05:20 -04:00
Joe Thornber
f2448b17ad [checksum] Switch to a faster implementation of crc32 2017-03-21 12:03:11 -04:00
Joe Thornber
93b983aac6 bump version to v0.7.0-rc4 2017-03-20 12:06:47 -04:00
Joe Thornber
8c66660bb0 Merge branch '2016-14-08-cache-format2' into format2-merging
Conflicts:
	VERSION
	unit-tests/Makefile.in
2017-03-20 12:06:01 -04:00
Joe Thornber
4ed5ec5e10 [unit-test] Knock out some dead code 2017-03-13 14:17:32 +00:00
Joe Thornber
7df5b26f39 [unit-test] knock out the bloom filter tests.
We don't use bloom filters, and they take ages to run.
2017-03-13 14:16:47 +00:00
Joe Thornber
0a8d7fdb89 [build] tweak includes for test targets 2017-03-13 14:02:11 +00:00
Joe Thornber
0586e53d21 [build] bump version to 0.7.0-rc3 2017-03-13 13:21:53 +00:00
Joe Thornber
4c311cf6d4 Switch an auto_ptr to a unique_ptr 2017-03-13 13:20:52 +00:00
Joe Thornber
5fd0b02e40 [io-engine] Add missing include 2017-03-13 13:20:27 +00:00
Joe Thornber
73ae456175 [persistent-data/block] ::exit() if write_ref drops below zero
We were throwing before, which obviously isn't allowed in a destructor.
2017-03-13 13:18:44 +00:00