Ming-Hung Tsai
591f725232
[space map disk] reduce the lock counts to speed up free block searching ( #84 )
...
Avoid repetitively acquiring/releasing the bitmap while finding a free block
2017-09-04 18:05:19 +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
209af19a02
[block manager] Don't allow the cache to be bigger than the block dev.
2017-07-24 15:28:23 +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
f2448b17ad
[checksum] Switch to a faster implementation of crc32
2017-03-21 12:03:11 -04: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
Ming-Hung Tsai
6863db6f86
[thin] fix duplicated counting of mapped blocks in restore emitter
2016-08-10 23:40:48 +08:00
Joe Thornber
52de2dd38e
Merge branch 'v0.7-devel' of github.com:jthornber/thin-provisioning-tools into v0.7-devel
2016-07-11 15:51:58 +01:00
Joe Thornber
c2fdbad322
Merge branch '2016-07-07-improve-thin-repair-error-message' into v0.7-devel
...
Conflicts:
Makefile.in
VERSION
configure.ac
persistent-data/file_utils.cc
2016-07-11 15:51:30 +01:00
Joe Thornber
4779fb9b80
[various] Improve documentation
...
Output file must be preallocated.
2016-07-11 14:53:03 +01:00
Ming-Hung Tsai
7eac48793c
[space map disk] tidy up: add const qualifier
2016-06-20 00:40:10 +08:00
Ming-Hung Tsai
60eb608825
[counting_visitor] fix the path for ValueCounter
2016-06-20 00:30:25 +08:00
Joe Thornber
a3eac8d5d8
Merge branch 'v0.7-devel' of github.com:jthornber/thin-provisioning-tools into v0.7-devel
2016-06-14 16:33:00 +01:00
Joe Thornber
642740e1b6
Merge branch '2016-03-08-cache-writeback' into v0.7-devel
2016-06-14 16:30:16 +01:00
Joe Thornber
b77ba14a2a
[block] Use the definition of SECTOR_SHIFT from block-cache
2016-06-14 16:28:14 +01:00
Ming-Hung Tsai
2203e2b513
[btree_node_checker] tidy up the code
...
1. Add const qualifiers
2. Add virtual destructor
2016-05-20 00:53:35 +08:00
Joe Thornber
3c02151a4f
Merge branch 'master' into v0.7-devel
...
Conflicts:
persistent-data/file_utils.cc
persistent-data/file_utils.h
2016-04-05 13:13:10 +01:00
Thanos Makatos
ab958ee752
improve error message when failing to stat block device
2016-04-06 15:56:08 +03:00
Ming-Hung Tsai
810e86e675
[counting_visitor] cleanup: remove redundant statements
2016-04-05 17:05:28 +08:00
Ming-Hung Tsai
9322fc9f14
[btree_damage_visitor] cleanup: remove redundant statements
2016-04-05 16:18:46 +08:00
Ming-Hung Tsai
1dce79bd55
[btree_damage_visitor] cleanup: use btree_node_checker
2016-04-05 16:09:58 +08:00
Ming-Hung Tsai
6dc9a90fec
[counting_visitor] fix unnecessary value visiting
...
1. Do not inherit btree_damage_visitor to avoid unnecessary
value visiting.
(reverts commit b22495997a
)
2. Use btree_node_checker to do node checking
2016-04-05 16:09:58 +08:00
Ming-Hung Tsai
4a4dc1a5e0
[btree_node_checker] first draft
...
Spin-off from btree_damage_visitor
2016-04-03 00:43:43 +08:00
Joe Thornber
2288fc4565
Merge branch 'master' into 2016-02-03-fix-thin-trim
2016-03-31 16:39:54 +01:00
Joe Thornber
8b2ec7a3aa
Merge branch 'master' into v0.7-devel
...
Conflicts:
VERSION
persistent-data/space-maps/disk.cc
persistent-data/space-maps/disk.h
2016-03-22 12:04:51 +00:00
Joe Thornber
a21f97e405
[space map disk] Add get_nr_blocks_in_data_sm()
...
which just uses the root
2016-03-21 17:16:41 +00:00
Joe Thornber
8676198e76
[file_utils] rename get_nr_blocks() -> get_nr_metadata_blocks() and introduce get_nr_blocks()
2016-03-04 10:43:58 +00:00
Joe Thornber
3f6cae4ebc
[persistent-data] persistent-data/data-structures/btree_key_value_extractor.h doesn't appear to be used
...
So remove
2016-02-29 11:12:50 +00:00
Joe Thornber
286f70ceac
Merge remote-tracking branch 'remotes/github-m-h-tsai/v0.6.2-repairtool' into 2016-02-29-mingus-merge
...
Conflicts:
Makefile.in
VERSION
thin-provisioning/commands.cc
thin-provisioning/commands.h
thin-provisioning/thin_delta.cc
2016-02-29 10:29:28 +00:00
Ming-Hung Tsai
d068ec8082
Add utility class binary_block_counter
2016-02-27 15:22:09 +08:00
Ming-Hung Tsai
b22495997a
Allow counting_visitor to work with damaged btrees
2016-02-27 15:22:00 +08:00
Ming-Hung Tsai
ad03114bf7
Add utility class btree_detail::key_value_extractor
2016-02-27 15:21:44 +08:00
Ming-Hung Tsai
c571a08f6c
Add utility class btree_detail::noop_value_visitor
2016-02-27 15:21:32 +08:00
Ming-Hung Tsai
a48227188e
Add utility class btree_detail::noop_damage_visitor
2016-02-27 15:21:23 +08:00
Ming-Hung Tsai
778c153c1e
[block-cache] Add check_raw() to bcache::validator
2016-02-27 15:21:13 +08:00
Ming-Hung Tsai
45e9916428
Expose validator creation interface
2016-02-27 15:21:05 +08:00
Ming-Hung Tsai
d2260dee34
Show the block address in exception string
2016-02-27 15:04:08 +08:00
Ming-Hung Tsai
b1d4b9f7c8
Show the block address of error nodes
2016-02-27 15:04:08 +08:00
Joe Thornber
0349956015
Merge branch 'low_level_examine_metadata' into merge-show-blocks
...
Conflicts:
.gitignore
Makefile.in
persistent-data/space-maps/disk.cc
2016-02-24 15:24:43 +00:00
Joe Thornber
a5a53648c9
Merge branch '2015-08-19-thin-show-duplicates' into merge-thin-ls
...
Conflicts:
Makefile.in
block-cache/block_cache.h
main.cc
thin-provisioning/commands.h
2016-02-24 14:31:51 +00:00
Joe Thornber
20398f4209
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
2016-02-04 13:25:13 +00:00
Ming-Hung Tsai
febe80f4bb
[damage_visitor] update path_tracker in error_accessing_node()
2015-11-27 23:31:12 +08:00
Joe Thornber
25f4f23e42
[file_utils] fix bug in get_nr_blocks.
...
Introduced in previous patch
2015-08-19 12:44:07 +01:00
Joe Thornber
59a622670c
[thin_show_duplicates] wip
2015-08-19 12:32:57 +01:00
Joe Thornber
71aea2efcc
add btree_disk_structures.h
2015-08-13 14:28:07 +01:00
Joe Thornber
8fab56680c
[all tools] Improve the error message if opening the metadata fails.
...
Remind the admin that you shouldn't run the tools on live data.
2015-08-13 12:57:07 +01:00
Joe Thornber
c32aaab028
[validators] Move the btree node validator into a separate file.
2015-08-11 11:58:07 +01:00
Joe Thornber
b67cc29609
[btree] bad checksum exceptions now mention the block location
2015-08-04 15:12:41 +01:00