Commit Graph

1213 Commits

Author SHA1 Message Date
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
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
Joe Thornber
4493d6d39d [disk-units] remove some dead code. 2017-03-13 13:16:56 +00:00
Joe Thornber
cbcf68aa33 bump version 2017-03-08 11:10:13 -05:00
Joe Thornber
803b2f3a40 Merge branch 'v0.7-devel'
Conflicts:
	VERSION
2017-03-08 11:05:50 -05:00
Joe Thornber
d24dba9ebb Merge branch 'master' of github.com:jthornber/thin-provisioning-tools into 2016-14-08-cache-format2
Conflicts:
	VERSION
2017-03-08 10:47:38 -05:00
Joe Thornber
671321a4c0 bump version 2017-03-08 10:29:22 -05:00
Joe Thornber
c5faf7b2b9 [build] unit tests were having trouble finding include files.
I'm not sure why this broke.
2017-03-08 10:03:09 -05:00
Joe Thornber
ba8d5ab5e4 [cache_restore] --debug-override-metadata-version wasn't working 2017-03-01 10:36:34 -05:00
Joe Thornber
d52e934ce2 Merge branch 'v0.7-devel' into 2016-14-08-cache-format2 2017-02-27 09:37:01 -05:00
Joe Thornber
3add3e00cb Merge pull request #75 from tmakatos/v0.7-devel
remove debug print
2017-02-06 11:29:21 +00:00
Thanos Makatos
73e583e662 remove debug print 2017-02-06 13:11:10 +03:00
Joe Thornber
d710cad52b [cache tools] knock out OPEN from the metadata enum 2016-10-07 15:01:16 -04:00
Joe Thornber
687880c1fc Merge pull request #69 from mingnus/master-fix
[block-cache] Fix error handling in reading libaio events
2016-10-06 17:20:18 +01:00
Ming-Hung Tsai
6c1be8d6fa [block-cache] Fix error handling in reading libaio events
io_event::res is a signed int64 in kernel, but libaio defines it
as unsigned long. We should cast it to a signed value.
2016-10-06 23:42:27 +08:00