Commit Graph

178 Commits

Author SHA1 Message Date
Joe Thornber c6ae25417b Add missing include to thin_trim 2015-01-17 11:45:09 +00:00
Joe Thornber fe64da2c7c Fix these errors:
thin-provisioning/thin_pool.cc:206: error: reference to 'sector_t' is ambiguous
./thin-provisioning/metadata.h:40: error: candidates are: typedef uint64_t thin_provisioning::sector_t
./block-cache/block_cache.h:20: error:                 typedef uint64_t bcache::sector_t
thin-provisioning/thin_pool.cc:206: error: reference to 'sector_t' is ambiguous
./thin-provisioning/metadata.h:40: error: candidates are: typedef uint64_t thin_provisioning::sector_t
./block-cache/block_cache.h:20: error:                 typedef uint64_t bcache::sector_t
thin-provisioning/thin_pool.cc:206: error: 'sector_t' does not name a type

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2015-01-16 10:14:28 +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 41354f10f5 provide << operator for optionals 2014-09-04 11:26:43 +01:00
Joe Thornber 6f8b7e2914 [all] Build a single executable 2014-08-27 14:01:31 +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 d17ad86a88 [*_restore] Use a little wrapper class for the expat XML_Parser to ensure it gets destroyed. 2014-08-26 11:23:29 +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 936e14441f Merge branch 'master' of github.com:jthornber/thin-provisioning-tools 2014-08-06 16:32:04 +01:00
Joe Thornber 1d38b390b5 Factor common code out of the xml_format files. 2014-08-06 15:29:02 +01:00
Joe Thornber d00aef9219 [thini_restore] add a quiet option to turn off the progress monitor 2014-08-05 12:10:34 +01:00
Joe Thornber fccc1dfcb0 [thin_restore] Add a progress monitor 2014-08-05 11:47:57 +01:00
Joe Thornber 8321bdcf59 Merge pull request #13 from bgilbert/fix-units
thin_metadata_size: Fix long names of units
2014-08-05 09:34:37 +01:00
Joe Thornber 7e870ea5a6 start removing block_manager<>::block 2014-07-25 14:46:51 +01:00
Joe Thornber b32908d5c2 work in progress 2014-07-25 10:35:04 +01:00
Joe Thornber d517684c95 Initial code drop for merging block_cache 2014-07-22 16:41:39 +01:00
Joe Thornber e77e8715b0 Remove ambiguity between boost::uint64_t and ::uint64_t.
This has been causing people problems on uclibc builds.
2014-07-02 08:19:20 +00:00
Joe Thornber e4d82d04bd [thin_delta] Fix bug when detecting right_only mappings 2014-06-17 16:20:38 +01:00
Joe Thornber c8f408ac3c [thin_delta] Update the usage 2014-06-17 15:00:38 +01:00
Joe Thornber bb57104542 [thin_delta] By default output a simpler format that ignores the data locations.
Most people will access the data via the thin device itself, so
there's really no need to output the locations of the data on pool
device.  Doing this allows us to run together adjacent thin blocks
(even if they are not adjacent on the pool dev).

Simple format:

  <same begin="0" length="1"/>
  <different begin="1" length="4"/>
  <same begin="5" length="1"/>
  <different begin="6" length="6"/>
  <same begin="12" length="1"/>
  <different begin="13" length="9"/>
  <same begin="22" length="1"/>
  <different begin="23" length="4"/>
  <same begin="27" length="1"/>
  <different begin="28" length="3"/>
  <same begin="31" length="1"/>
  <different begin="32" length="1"/>

The old format is available using the --verbose switch:

  <same>
    <range begin="0" data_begin="0" length="1"/>
  </same>

  <different>
    <range begin="1" left_data_begin="24576" right_data_begin="16384" length="1"/>
    <range begin="2" left_data_begin="24577" right_data_begin="2" length="1"/>
    <range begin="3" left_data_begin="24578" right_data_begin="16385" length="1"/>
    <range begin="4" left_data_begin="24579" right_data_begin="4" length="1"/>
  </different>

  <same>
    <range begin="5" data_begin="5" length="1"/>
  </same>

  <different>
    <range begin="6" left_data_begin="24580" right_data_begin="16386" length="1"/>
    <range begin="7" left_data_begin="7" right_data_begin="16387" length="1"/>
    <range begin="8" left_data_begin="24581" right_data_begin="8" length="1"/>
    <range begin="9" left_data_begin="24582" right_data_begin="16388" length="1"/>
    <range begin="10" left_data_begin="10" right_data_begin="16389" length="1"/>
    <range begin="11" left_data_begin="24583" right_data_begin="11" length="1"/>
  </different>

  <same>
    <range begin="12" data_begin="12" length="1"/>
  </same>

  <different>
    <range begin="13" left_data_begin="24584" right_data_begin="13" length="1"/>
    <range begin="14" left_data_begin="24585" right_data_begin="16390" length="1"/>
    <range begin="15" left_data_begin="24586" right_data_begin="15" length="1"/>
    <range begin="16" left_data_begin="16" right_data_begin="16391" length="1"/>
    <range begin="17" left_data_begin="24587" right_data_begin="16392" length="1"/>
    <range begin="18" left_data_begin="18" right_data_begin="16393" length="3"/>
    <range begin="21" left_data_begin="24588" right_data_begin="21" length="1"/>
  </different>

  <same>
    <range begin="22" data_begin="22" length="1"/>
  </same>

  <different>
    <range begin="23" left_data_begin="24589" right_data_begin="23" length="1"/>
    <range begin="24" left_data_begin="24590" right_data_begin="16396" length="1"/>
    <range begin="25" left_data_begin="24591" right_data_begin="25" length="1"/>
    <range begin="26" left_data_begin="26" right_data_begin="16397" length="1"/>
  </different>

  <same>
    <range begin="27" data_begin="27" length="1"/>
  </same>

  <different>
    <range begin="28" left_data_begin="24592" right_data_begin="28" length="2"/>
    <range begin="30" left_data_begin="30" right_data_begin="16398" length="1"/>
  </different>

  <same>
    <range begin="31" data_begin="31" length="1"/>
  </same>

  <different>
    <range begin="32" left_data_begin="24594" right_data_begin="32" length="1"/>
  </different>
2014-06-17 14:20:33 +01:00
Joe Thornber 0e62a1c4de [thin_delta] provide a more complete diff output. 2014-06-17 12:39:13 +01:00
Joe Thornber f80c2dc77f [thin_delta] Don't use endl which also flushes 2014-06-16 13:58:25 +01:00
root 72e20c2d40 remove some dead code 2014-06-16 13:41:07 +01:00
Joe Thornber d7d293ee4f thin_delta now works 2014-06-10 16:38:20 +01:00
Joe Thornber d1989f4a14 whitespace 2014-06-10 16:38:10 +01:00
Joe Thornber e851b35954 [thin_delta] read in the snaps and dev 2014-06-09 13:26:55 +01:00
Joe Thornber b03fa373a1 [thin_delta] Print usage on unrecognised switch 2014-06-09 10:51:10 +01:00
Joe Thornber 83f2cce597 [thin_delta] -h/--help 2014-06-09 10:48:29 +01:00
Joe Thornber 87fa6dc079 [thin_delta] --version/-V 2014-06-09 10:37:46 +01:00
Benjamin Gilbert 2679e7f088 thin_metadata_size: Fix long names of units
Both implementations of thin_metadata_size believe units are defined
like this:

    1024 == kilobyte == k
    1000 == kibibyte == K

and so on.  Fix the 1000/1024 confusion, while continuing to follow the
LVM convention of using lowercase letters for binary units, so that we
have:

    1024 == kibibyte == k
    1000 == kilobyte == K
2014-05-17 03:51:06 -04:00
Benjamin Gilbert e7e3e93ec6 thin_metadata_size: Drop executable bit on source file 2014-05-17 03:51:03 -04:00
Joe Thornber 05b18a5b99 [thin_check] Fix bug in clear needs check logic.
Mixed up bools and int returns.
2014-04-02 13:43:16 +01:00
Joe Thornber c3249ff757 [thin_check] --clear-needs-check-flag 2014-03-27 12:00:17 +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 344f4b1e08 Factor out base/indented_stream.h 2014-01-31 13:43:39 +00:00
Joe Thornber ef6066e2cd Merge branch 'master' of github.com:jthornber/thin-provisioning-tools 2014-01-15 15:52:33 +00:00
Joe Thornber c24fa93f2c whitespace 2014-01-15 15:50:50 +00:00
Joe Thornber be5fa59f90 Merge branch 'era' of github.com:jthornber/thin-provisioning-tools into era 2014-01-08 10:50:26 +00:00
Joe Thornber 8049d369a9 stuff 2013-12-11 17:28:14 +00:00
Joe Thornber 983a5e84e6 Move endian_utils to base/ 2013-11-19 10:23:35 +00:00
Joe Thornber 05effffdf9 [thin-provisioning] re-write metadata_dumper.cc 2013-10-16 10:20:43 +01:00
Joe Thornber b87742ccff [thin-provisioning] walk_mapping_tree() 2013-10-16 10:20:15 +01:00
Joe Thornber a06139ef9f [thin-provisioning] walk_device_tree() 2013-10-16 10:19:29 +01:00
Joe Thornber 9dc4a97cb7 [thin_check] thin_check wasn't giving a non-zero exit code for damage in mapping trees 2013-10-15 10:40:26 +01:00
Joe Thornber 61e90998c0 [cache_dump, cache_restore] restore/dump cycle works 2013-09-19 13:45:56 +01:00
Joe Thornber 7ce306cb6d [thin_restore] check the input file exists.
Previously we were hanging if it didn't
2013-09-16 13:43:06 +01:00
Joe Thornber 6615b25e4b WIP on cache tools 2013-09-11 11:40:46 +01:00
Joe Thornber 7ada06aa77 fluff 2013-08-16 14:34:51 +01:00
Joe Thornber be6f90f16c [thin_restore] use full paths for includes. 2013-08-16 14:33:19 +01:00
Joe Thornber 67551d81f1 Put error_state into into it's own file. 2013-08-16 14:07:04 +01:00