Commit Graph

209 Commits

Author SHA1 Message Date
Thanos Makatos
431f2ab50a allow tmakatos (a binary) emitter to be statically compiled
It is trivial to implement static compilation of the rest of the 3rd party
emitters.
2016-04-06 15:56:09 +03:00
Thanos Makatos
3464f005ff add configure option to enable static linking
(cherry picked from commit c6a2620f5d)

Conflicts:
	configure.ac
2016-04-06 15:56:08 +03: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
5b3cae824b Merge branch 'v0.7-devel' of github.com:jthornber/thin-provisioning-tools into v0.7-devel 2016-03-31 16:14:48 +01:00
Joe Thornber
a5ed4258c0 [build] contrib target no longer depends on --enable-testing 2016-03-31 16:14:11 +01:00
Thanos Makatos
b8dbde1e64 use -ldl when linking
dlopen etc. require -ldl to link
2016-03-31 13:02:36 +03:00
Joe Thornber
c7813e07e4 [thin_dump] --format custom=<shared lib>
Allow people to use their own emitters held in a shared library.

Put a trivial emitter in contrib/ as an example.
2016-03-24 13:59:08 +00:00
Thanos Makatos
c6a2620f5d add configure option to enable static linking 2016-03-09 13:27:35 +03:00
Joe Thornber
b8659853bb [cache_writeback] stub cache_writeback 2016-03-08 15:27:22 +00:00
Joe Thornber
4c0d5c96a0 [build] add symlinks for the new dev tools 2016-02-29 13:51:30 +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
08a7093cd5 [thin_ll_dump][thin_ll_restore] first draft 2016-02-27 15:24:28 +08:00
Ming-Hung Tsai
b05b9aa227 [thin_scan] first draft 2016-02-27 15:24:14 +08:00
Ming-Hung Tsai
80783e7729 Add metadata_counter.{h,cc} 2016-02-27 15:23:06 +08:00
Joe Thornber
e78de5d3ad [thin_show_metadata] ncurses render 2016-02-26 12:50:17 +00:00
Joe Thornber
c4215c0cf6 [thin_show_metadata] thin_show_blocks.cc -> thin_show_metadata.cc 2016-02-24 15:32:05 +00: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
5f879237f5 [build] add --enable-dev-tools configure flag
This builds tools that I want to keep in the same code base, but not
intended for general release.
2016-02-24 13:41:43 +00:00
Joe Thornber
767c39cf71 [build] switch to c++11
Conflicts:
	Makefile.in
	chunker/cache_stream.cc
	chunker/cache_stream.h
	thin-provisioning/thin_archive.cc
	thin-provisioning/thin_show_duplicates.cc
	unit-tests/Makefile.in
2016-02-16 16:45:44 +00:00
Joe Thornber
8b792f5c79 [[build] Force gnu++98 standard 2016-02-16 15:02:29 +00:00
Joe Thornber
dc08c78b46 [build] another go at static libc++ 2016-02-09 10:57:39 +00:00
Joe Thornber
244405ed5d [build] g++ versions prior to 4.5 don't support the --static-libstdc++ flag so hack around it 2016-02-08 11:58:19 +00:00
Joe Thornber
20bf5bb06d [build] add --enable-static-cxx config option
Links libstdc++ statically.
2016-02-04 15:26:33 +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
e15b11edb1 [thin_ls, base] Factor out grid_layout 2016-01-20 06:58:59 +00:00
Joe Thornber
7ce4e451ff [base, thin_ls] factor out disk_units code 2016-01-19 11:40:00 +00:00
Joe Thornber
c3973c044c [thin_ls] First code drop.
Output still needs formatting.  More testing needed in dmtest.
2016-01-12 15:02:19 +00:00
Joe Thornber
c93e728ef4 [base] introduce a command type that gets registered with the app 2016-01-08 12:51:52 +00:00
Ming-Hung Tsai
3be4fe985f [build] Add AC_SYS_LARGEFILE to check for large-file support
To use off64_t on 32-bit system
2015-11-27 23:38:55 +08:00
Ming-Hung Tsai
77f803c528 [build] Support external strip command 2015-11-27 23:35:46 +08:00
Joe Thornber
664841ad03 [thin_show_dups] Support fractions of a pool block size 2015-09-08 17:09:41 +01:00
Joe Thornber
750ce0f47b [thin_show_dups] variable_chunk_stream 2015-09-03 13:02:29 +01:00
Joe Thornber
3470ede50b [thin_show_dups] pull the various streams out to their own files 2015-08-24 16:55:53 +01:00
Joe Thornber
dbd0c65088 [thin_show_duplicates] stub new command 2015-08-19 09:41:14 +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
182be112fa Add thin_delta to the build 2015-03-24 14:09:36 +00:00
Joe Thornber
25b4b526f4 Introduce error_string() as a portable replacement for strerror_r() 2015-01-16 12:54:09 +00:00
Joe Thornber
8e92158055 [thin_trim] first code drop.
No testing done as yet.
2014-11-18 16:03:03 +00:00
Joe Thornber
b2d7dec460 [build] add bin/pdata_tools to the PROGRAMS var so 'make clean' removes it 2014-09-01 15:10:32 +01:00
Joe Thornber
5a45f5ac95 [bild] strip the binary when installing 2014-08-28 11:06:16 +01:00
Christian Hesse
3cafc0d6e8 fix symbolic link at install time
Packaging tools often install via

$ make DESTDIR="${pkgdir}" install

which breaks the symbolic links. The package contains symbolic links to
${pkgdir}/$(BINDIR)/pdata_tools, which is wrong. Just use relative path,
which is really easy as binary and symlinks are in the same directory.
2014-08-27 22:31:50 +02:00
Joe Thornber
6f8b7e2914 [all] Build a single executable 2014-08-27 14:01:31 +01:00
Joe Thornber
c1e0799367 [build] deps weren't being calculated for the top level source file of some of the tools. 2014-08-26 13:13:32 +01:00
Joe Thornber
828f654800 [*_restore] Add progress bar to cache_restore and era_restore.
A lot of refactoring common code between the restore tools.
2014-08-26 13:05:21 +01:00
Joe Thornber
75a797253e [build] build era_restore by default 2014-08-12 10:18:58 +01:00
Joe Thornber
283ab4ad99 first drop of era_restore 2014-08-07 15:43:01 +01:00
Joe Thornber
8f73241119 [era] parser for the XML format 2014-08-06 16:30:38 +01:00
Joe Thornber
1d38b390b5 Factor common code out of the xml_format files. 2014-08-06 15:29:02 +01:00
Joe Thornber
aa08c8393a Man pages were being installed in a v. funny place. 2014-08-06 11:14:15 +01:00
Joe Thornber
672582b2a8 Install era manpages 2014-08-06 11:10:22 +01:00
Joe Thornber
fccc1dfcb0 [thin_restore] Add a progress monitor 2014-08-05 11:47:57 +01:00
Joe Thornber
d517684c95 Initial code drop for merging block_cache 2014-07-22 16:41:39 +01:00
Joe Thornber
87fa6dc079 [thin_delta] --version/-V 2014-06-09 10:37:46 +01:00
Joe Thornber
fe019f6946 install era tools 2014-03-06 16:30:33 +00:00
Joe Thornber
38f8195a99 thin_show_blocks 2014-02-19 15:01:07 +00:00
Joe Thornber
5fe5d213b7 Merge branch 'master' of github.com:jthornber/thin-provisioning-tools into era
Conflicts:
	Makefile.in
2014-01-31 22:35:04 +00:00
Joe Thornber
8531a2befa [era] switch from bloom filters to writesets 2014-01-29 21:37:25 +00:00
Joe Thornber
9e0540e1b6 era_check, era_dump 2014-01-23 00:46:03 +00:00
Joe Thornber
cbbdfc37da [cache] cache_metadata_size 2014-01-15 15:52:05 +00:00
Joe Thornber
bed0f369a8 [era_check] Now checks bloom tree 2014-01-14 23:59:12 +00:00
Joe Thornber
bfb540cc5b [era] era_superblock_t and era_check 2014-01-09 22:40:34 +00:00
Joe Thornber
2250abe605 [era] superblock packing 2014-01-08 15:31:42 +00:00
Joe Thornber
983a5e84e6 Move endian_utils to base/ 2013-11-19 10:23:35 +00:00
Joe Thornber
180f7e6187 persistent-data/data-structures/bloom_filter 2013-11-18 13:08:07 +00:00
Heinz Mauelshagen
2f00c2320c Add missing cache tools manual pages and update Makefile.in respectively 2013-10-19 00:45:18 +02:00
Joe Thornber
5dbaf8371c [caching] start wiring up the discard bitset 2013-10-10 13:08:04 +01:00
Joe Thornber
347de67e2d [persistent-data/data-structures/bitset] Use pimpl idiom to hide implementation. 2013-10-10 12:17:34 +01:00
Joe Thornber
a29b5c8d07 [base] bse64 encoder
Really slow implementation.  Speed up on a rainy day.
2013-10-10 10:18:46 +01:00
Joe Thornber
c6487fd283 [cache_repair] written 2013-10-09 10:42:14 +01:00
Joe Thornber
9b9b7771e9 [caching] factor metadata_dump out of cache_dump 2013-10-09 10:22:06 +01:00
Joe Thornber
7cd4728fbf [build] add LDFLAGS to thin_metadata_size 2013-10-07 14:27:08 +01:00
Joe Thornber
e7223037d4 [cache_check] wip 2013-10-02 10:50:42 +01:00
Joe Thornber
17f7c982f2 [caching] hint support 2013-09-24 12:00:09 +01:00
Joe Thornber
a05d75611e mapping_array.cc 2013-09-12 14:21:25 +01:00
Joe Thornber
dadb32d15f some work on cache_restore 2013-09-12 12:33:32 +01:00
Joe Thornber
6615b25e4b WIP on cache tools 2013-09-11 11:40:46 +01:00
Joe Thornber
d3ce6b811b Start stubbing out cache_dump 2013-08-19 12:40:03 +01:00
Joe Thornber
4360c8cbff Some work on cache_check and cache_restore 2013-08-16 16:29:41 +01:00
Joe Thornber
67551d81f1 Put error_state into into it's own file. 2013-08-16 14:07:04 +01:00
Joe Thornber
1e925d4cf1 caching/superblock.{h,cc} 2013-08-16 13:39:12 +01:00
Joe Thornber
0029962f20 Give up with --std=c++11
There are too many distros that use old versions of g++ that don't support it adequately.
2013-08-08 10:49:59 +01:00
Heinz Mauelshagen
38bab662b6 Merge ejt/master 2013-07-30 12:23:13 +02:00
Heinz Mauelshagen
b27f12980b Avoid strip at install 2013-07-19 13:28:38 +02:00
Heinz Mauelshagen
b8c6d4e943 Makefile.in: add man pages 2013-07-18 15:54:15 +02:00
Heinz Mauelshagen
ccbaea0f96 Makefile.in: remove new man pages 2013-07-18 15:21:03 +02:00
Heinz Mauelshagen
9b2783490f Makefile.in: new man pages 2013-07-18 14:52:08 +02:00
Heinz Mauelshagen
c1ccc12da0 Makefile.in: uncomment new man pages for clean patch 2013-07-18 14:52:08 +02:00
Heinz Mauelshagen
e8f9fc6dff thin_metadata_size: use NOO_NUMBER whilst defining full bool 2013-07-18 14:52:08 +02:00
Heinz Mauelshagen
6248f60acc Makefile.in: fluff 2013-07-18 14:52:08 +02:00
Heinz Mauelshagen
ed88882007 autconf: support build of thin_metadata_size.c 2013-07-18 14:52:08 +02:00
Robin H. Johnson
e38c3f9ede Improve build: LDFLAGS.
Linker must be passed LDFLAGS for some distributions, as CXXFLAGS should
not normally contain any linker flags (may fail if passed to
compile-only invocations).

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2013-07-14 21:10:44 +00:00
Joe Thornber
8a2b3f91e7 Don't install thin_metadata_size (needs recoding in C++) 2013-07-10 16:43:25 +01:00
Heinz Mauelshagen
344d83774d Makefile.in: fix install flaws 2013-07-10 17:16:56 +02:00
Joe Thornber
90190912ff [build] Fix bug introduced today in the deps 2013-06-27 12:42:52 +01:00
Joe Thornber
759263d388 [build] DEPs build quietly now and aren't generated when making clean. 2013-06-27 10:17:38 +01:00
Joe Thornber
51852e0aef [build] remove cache_check from the default build 2013-06-25 11:11:00 +01:00
Joe Thornber
46c0f74a9e [build] install thin_rmap and thin_metadata_calc 2013-06-25 10:46:10 +01:00
Joe Thornber
00b0c4356e [build] include btree.cc in the tools build (was just in unit-tests). 2013-06-20 14:46:46 +01:00
Joe Thornber
83a09e1a2a [btree] use a block_ref_counter for internal nodes 2013-06-20 14:29:48 +01:00