On Tue, Jul 5, 2011 at 9:01 AM, Dor Laor <dl...@redhat.com> wrote: > I tried to re-arrange all of the requirements and use cases using this wiki > page: http://wiki.qemu.org/Features/LiveBlockMigration > > It would be the best to agree upon the most interesting use cases (while we > make sure we cover future ones) and agree to them. > The next step is to set the interface for all the various verbs since the > implementation seems to be converging.
Live block copy was supposed to support snapshot merge. I think the current favored approach is to make the source image a backing file to the destination image and essentially do image streaming. Using this mechanism for snapshot merge is tricky. The COW file already uses the read-only snapshot base image. So now we cannot trivally copy the COW file contents back into the snapshot base image using live block copy. It seems like snapshot merge will require dedicated code that reads the allocated clusters from the COW file and writes them back into the base image. A very inefficient alternative would be to create a third image, the "merge" image file, which has the COW file as its backing file: snapshot (base) -> cow -> merge All data from snapshot and cow is copied into merge and then snapshot and cow can be deleted. But this approach is results in full data copying and uses potentially 3x space if cow is close to the size of snapshot. Any other ideas that reuse live block copy for snapshot merge? Stefan