Ming-Hung Tsai
ecb5226acc
[thin] Fix indent and trailing whitespaces
2020-07-29 16:47:22 +08:00
Ming-Hung Tsai
5260a87c0b
[base] Move math_utils to namespace base
2020-06-19 18:07:55 +08: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
5f2c3bed69
Add some ftests, and fixup whitespace from Nikhil's work
2019-10-28 11:52:21 +00:00
Nikhil Kshirsagar
91b4714e38
Corrupt superblock repair
2019-10-25 15:02:56 +05:30
Joe Thornber
b027a1039f
[thin-provisioning] Add a new constructor for the metadata class
...
This one takes a superblock. Used when repairing.
2019-04-17 12:15:46 +01:00
Joe Thornber
b777a77023
[thin-provisioning] pass the tm by reference to the metadata object
2019-04-04 15:06:41 +01:00
Ming-Hung Tsai
582e424560
[space-map-disk] fix the number of free blocks ( #93 )
2018-04-17 14:00:44 +01:00
Joe Thornber
1433d11f59
[thin-provisioning/metadata] Use latest metadata version (2)
2018-04-17 13:32:49 +01:00
Joe Thornber
3c761e6822
[all tools] Factor out open_bm() and open_tm.
...
Many duplicates of this code.
2017-10-05 11:53:40 +01:00
Joe Thornber
48e7ab89a5
[*_dump] Fix segfault when given a tiny metadata file
2017-09-21 10:22:38 +01:00
Joe Thornber
2815aeace9
[thin_repair] fix regression in thin_repair
...
When opening the corrupted metadata we don't need to touch the space
maps. This used to be achieved by pretending we were opening a
metadata snap at block 0 (superblock location). But got changed in
the recent rationalisation of the metadata constructors.
This patch introduces a bool to the metadata OPEN constructor that
says whether the space maps are needed or not.
2016-02-16 14:08:43 +00:00
Joe Thornber
c369045790
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
...
Conflicts:
thin-provisioning/metadata.cc
thin-provisioning/thin_trim.cc
2016-01-20 15:37:04 +00:00
Joe Thornber
a709b9718b
[thin] Make the metadata class resposible for locating metadata snapshots
2015-12-15 10:08:07 +00:00
Joe Thornber
30a3bf67d1
[thin tools] Change the metadata contructors to take a block_manager<>::ptr
...
Also check any metadata snap passed in matches what's in the superblock.
2015-12-14 15:29:57 +00:00
Ming-Hung Tsai
856bd95d8e
Fix the unit of superblock::metadata_block_size_ to be sector-based
2015-11-27 23:38:37 +08:00
Joe Thornber
642ae6e7c2
Tools now open the metadata device in O_EXCL mode.
...
An attempt to stop people running the tools on active metadata.
2015-07-07 13:47:00 +01: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
7e870ea5a6
start removing block_manager<>::block
2014-07-25 14:46:51 +01:00
Joe Thornber
d517684c95
Initial code drop for merging block_cache
2014-07-22 16:41:39 +01:00
root
72e20c2d40
remove some dead code
2014-06-16 13:41:07 +01:00
Joe Thornber
6615b25e4b
WIP on cache tools
2013-09-11 11:40:46 +01:00
Joe Thornber
77286e0bc7
Take out some 'typename's to support older versions of gcc (Heinz).
2013-08-15 10:35:07 +01:00
Heinz Mauelshagen
bdb8d6e5cc
thin_dump: cleanup metadata snapshot support
2013-07-30 17:10:41 +02:00
Heinz Mauelshagen
dd1e4c1233
thin_dump: support optional block# with --metadata-snap to allow for default snapshot stored in metadata to be used; update manual page
2013-07-19 11:48:15 +02:00
Heinz Mauelshagen
5a039267df
thin_dump: support --metadata-snap block#
2013-07-18 14:52:08 +02:00
Joe Thornber
055b237126
tweaks to metadata constructor, and some updated features.
2013-06-19 11:34:01 +01:00
Joe Thornber
b456f16aa0
[thin_check] Wire up check_device_tree.
2013-05-21 15:49:20 +01:00
Joe Thornber
6fcda37dbc
superblock damage visitor
2013-05-21 14:01:17 +01:00
Joe Thornber
553f73b826
superblock_checker.* -> superblock.*, remove metadata_disk_structures.* and rearrange namespaces a bit.
2013-05-21 12:46:07 +01:00
Joe Thornber
8f2ab2d676
Introduce mapping_tree.h
2013-05-20 17:37:46 +01:00
Joe Thornber
35880f3038
Move device_details_traits into the device_tree_detail namespace.
2013-05-20 16:35:26 +01:00
Joe Thornber
fcb617f858
device_tree
2013-05-20 16:09:13 +01:00
Joe Thornber
034abaff1e
Stop metadata:commit printing the superblock out to stderr.
2013-04-29 12:48:58 +01:00
Joe Thornber
a55f6fcf78
A stack of thin_check refactorings
2013-04-25 16:27:07 +01:00
Joe Thornber
20ff78c818
[thin_check] Start refactoring metadata_checker.
2013-04-23 15:21:44 +01:00
Joe Thornber
dde775ef52
thin_metadata_t now reproduces the recursive new_block() error.
2013-04-11 13:41:43 +01:00
Joe Thornber
be7801f111
some __le -> le issues
2013-03-22 15:48:43 +00:00
Joe Thornber
779f8e1fd4
Introduce a mode enum to block_io<>
2013-01-11 20:16:40 +00:00
Joe Thornber
326fd3408b
move space maps to their own sub directory
2013-01-10 21:36:38 +00:00
Joe Thornber
282e98a6b1
Move source into separate sub directories.
2013-01-02 12:55:41 +00:00