Btrfs-progs: enhance btrfs-image to restore image onto multiple disks
authorLiu Bo <bo.li.liu@oracle.com>
Sat, 22 Jun 2013 05:32:45 +0000 (13:32 +0800)
committerChris Mason <chris.mason@fusionio.com>
Wed, 3 Jul 2013 18:16:10 +0000 (14:16 -0400)
commit095e21af458b9c40fc90b3f6901e4c7f2c6d0dd5
treed55d3799068194806c8a05f6af89aee5667c2ad7
parentaa88c0ac37cddd4690c7fb427018276788618621
Btrfs-progs: enhance btrfs-image to restore image onto multiple disks

This adds a 'btrfs-image -m' option, which let us restore an image that
is built from a btrfs of multiple disks onto several disks altogether.

This aims to address the following case,
$ mkfs.btrfs -m raid0 sda sdb
$ btrfs-image sda image.file
$ btrfs-image -r image.file sdc
---------
so we can only restore metadata onto sdc, and another thing is we can
only mount sdc with degraded mode as we don't provide informations of
another disk.  And, it's built as RAID0 and we have only one disk,
so after mount sdc we'll get into readonly mode.

This is just annoying for people(like me) who're trying to restore image
but turn to find they cannot make it work.

So this'll make your life easier, just tap
$ btrfs-image -m image.file sdc sdd
---------
then you get everything about metadata done, the same offset with that of
the originals(of course, you need offer enough disk size, at least the disk
size of the original disks).

Besides, this also works with raid5 and raid6 metadata image.

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
btrfs-image.c
ctree.h
disk-io.c
disk-io.h
extent_io.c
extent_io.h
volumes.c
volumes.h