btrfs-progs: fix btrfs-image overlapping chunks
authorJosef Bacik <jbacik@fb.com>
Mon, 26 Jan 2015 01:39:24 +0000 (17:39 -0800)
committerJosef Bacik <jbacik@fb.com>
Mon, 9 Feb 2015 19:53:15 +0000 (14:53 -0500)
commit32bb725f667a5c26f208f0717cb91716523d88f9
treebb61804dd608c137693e114a48d3999230a8f03c
parent20feed2ea49fff104520d3407ce0c8a935204c44
btrfs-progs: fix btrfs-image overlapping chunks

If you create a metadump from a striped volume you will have chunks that refer
to different logical offsets with the same physical offset on different devices.
So when we do the restore we just truncate the number of stripes in each chunk
item and carry on, which causes problems because we then have chunks that point
to the same physical offset for different logical offsets.  To handle this
problem we keep track of logical extents that overlap on physical extents.
Then we go back and remap these extents into different physical extents on the
disk we are restoring onto.  This makes us actually able to restore a multi disk
image onto a single disk and have everything work out properly.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fb.com>
btrfs-image.c