linux/Documentation/device-mapper
Joe Thornber cc8394d86f dm thin: provide userspace access to pool metadata
This patch implements two new messages that can be sent to the thin
pool target allowing it to take a snapshot of the _metadata_.  This,
read-only snapshot can be accessed by userland, concurrently with the
live target.

Only one metadata snapshot can be held at a time.  The pool's status
line will give the block location for the current msnap.

Since version 0.1.5 of the userland thin provisioning tools, the
thin_dump program displays the msnap as follows:

    thin_dump -m <msnap root> <metadata dev>

Available here: https://github.com/jthornber/thin-provisioning-tools

Now that userland can access the metadata we can do various things
that have traditionally been kernel side tasks:

     i) Incremental backups.

     By using metadata snapshots we can work out what blocks have
     changed over time.  Combined with data snapshots we can ensure
     the data doesn't change while we back it up.

     A short proof of concept script can be found here:

     https://github.com/jthornber/thinp-test-suite/blob/master/incremental_backup_example.rb

     ii) Migration of thin devices from one pool to another.

     iii) Merging snapshots back into an external origin.

     iv) Asyncronous replication.

Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
2012-06-03 00:30:01 +01:00
..
delay.txt dm: delay target 2007-05-09 12:30:47 -07:00
dm-crypt.txt dm crypt: optionally support discard requests 2011-08-02 12:32:08 +01:00
dm-flakey.txt dm flakey: add corrupt_bio_byte feature 2011-08-02 12:32:06 +01:00
dm-io.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm-log.txt dm log userspace: fix comment hyphens 2011-10-31 20:21:22 +00:00
dm-queue-length.txt dm mpath: add queue length load balancer 2009-06-22 10:12:27 +01:00
dm-raid.txt Documentation: Fix multiple typo in Documentation 2012-03-07 16:08:24 +01:00
dm-service-time.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
dm-uevent.txt dm: uevent generate events 2007-10-20 02:01:26 +01:00
kcopyd.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
linear.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
persistent-data.txt Documentation: Fix multiple typo in Documentation 2012-03-07 16:08:24 +01:00
snapshot.txt dm: document when snapshot has finished merging 2010-03-06 02:29:56 +00:00
striped.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
thin-provisioning.txt dm thin: provide userspace access to pool metadata 2012-06-03 00:30:01 +01:00
verity.txt dm: add verity target 2012-03-28 18:43:38 +01:00
zero.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00