[linux-lvm] access or interface to list of blocks that have, changed via C.O.W.?

Bryn M. Reeves bmr at redhat.com
Thu Oct 4 14:44:04 UTC 2012

Hash: SHA1

On 10/04/2012 11:17 AM, Mark Woodward wrote:
> I was going to try to answer in line, but decided that it would be
> too much work. There are utilities to extract the exception table
> out of the LVM2 snapshot, and if you can code in almost any
> language, you can write your own. It is dead simple. You can google
> for ddsnap and zumastore to

ddsnap was the Zumastor snapshot tool which uses a different in-kernel
snapshot target and metadata format. It does not share code with
current (or historic afaik) LVM2/device-mapper and has been dead for a
number of years (last commits around 2008).

> get the code. It old and not supported currently, but still works.
> I

Really? I'd be surprised if it even builds against modern kernels or

> The format of the array is simple: old_address (The offset in the 
> volume) followed by the new_address (the offset in the COW device).
> An array of all the "old_address" values is the changed block list.
> You don't even need to worry about the data if you can really get a
> file list by blocks.

If you really want to poke into the CoW store format I'd start by
reading dm-snap-persistent.c which is the traditional device-mapper
snapshot format.

Snapshots using the thinp target use the metadata format described in

Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/


More information about the linux-lvm mailing list