Commit Graph

20 Commits

Author SHA1 Message Date
Joe Thornber c93e728ef4 [base] introduce a command type that gets registered with the app 2016-01-08 12:51:52 +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 29c2a949f4 remove a bit of debug 2015-08-13 14:56:30 +01:00
Joe Thornber 3a881e9513 [thin_delta] Allow optional arg when using -m 2015-07-28 11:29:00 +01:00
Joe Thornber cc44652cc3 [thin_delta] support metadata snapshots 2015-03-25 11:10:18 +00:00
Joe Thornber 0e72f772d0 [thin_delta] Add superblock and diff tags 2015-03-25 10:09:39 +00:00
Joe Thornber 45422dbf7a [thin_delta] Mappings were being missed off from the tail of a device 2015-03-24 13:36:45 +00:00
Joe Thornber 6f8b7e2914 [all] Build a single executable 2014-08-27 14:01:31 +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 d517684c95 Initial code drop for merging block_cache 2014-07-22 16:41:39 +01: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
Joe Thornber d7d293ee4f thin_delta now works 2014-06-10 16:38:20 +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