Commit Graph

1342 Commits

Author SHA1 Message Date
Joe Thornber
ecd616a28c [functional-tests/regex] Removed call/cc, made v. little difference.
Something is still allocating a lot of memory.
2017-08-18 20:51:24 +01:00
Joe Thornber
27eb4d8ce4 [functional-tests/regex] more optimisation.
I think we're going to have to lose the call/cc; something is allocating
a lot of memory.
2017-08-18 19:28:07 +01:00
Joe Thornber
2fb7eb265f [functional-tests/regex] remove match from the loop 2017-08-18 19:05:40 +01:00
Joe Thornber
ca6a036697 [functional-tests/regex] pull out a swap macro 2017-08-18 18:35:40 +01:00
Joe Thornber
b2b8d2b3c7 [functional-tests/regex] Restructure the matcher to try and reduce
memory
2017-08-18 18:32:05 +01:00
Joe Thornber
9202e31725 [functional-tests/regex] fix bug in the star combinator 2017-08-18 18:01:31 +01:00
Joe Thornber
df09bf2cc6 [functional-tests] regex matcher starts to work.
Very slow implementation.
2017-08-18 16:02:43 +01:00
Joe Thornber
4602ba856d [functional-tests] add a while loop 2017-08-18 16:02:10 +01:00
Joe Thornber
59a77ee44a [functional-tests] more work on the regex engine 2017-08-18 13:21:17 +01:00
Joe Thornber
ca16f0eac8 [functional-tests] start working on a little regex matcher 2017-08-18 12:27:17 +01:00
Joe Thornber
d142fbe0a5 [functional-tests] Add some cache_check tests 2017-08-17 16:26:15 +01:00
Joe Thornber
b5d27e2a0c [functional-tests] move some functions from (thin-functional-tests) 2017-08-17 16:24:10 +01:00
Joe Thornber
d061caaf2b [functional-tests] add (cache-xml) 2017-08-17 14:46:01 +01:00
Joe Thornber
207553dfce [functional-tests] remove some unused imports from (thin-xml) 2017-08-17 14:44:03 +01:00
Joe Thornber
a70c25e912 [functional tests] start a (loops) library
Contains upto.
2017-08-17 14:11:59 +01:00
Joe Thornber
a7d0e687e8 [functional-tests] start a (generators) library 2017-08-17 12:13:57 +01:00
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