Hi Kashyap,
Thanks a lot for clarifying. If there's an open issue for this improvement, please let me so that I will subscribe to it. Cheers :) Richard Gomes
On 31/01/14 18:31, Kashyap Chamarthy wrote:http://rgomes.info http://www.linkedin.com/in/rgomes mobile: +44(77)9955-6813 inum: +883(5100)0800-9804 sip:rgomes@xxxxxxx On 01/29/2014 08:21 PM, Richard Gomes wrote:Hello If I'm not terribly mistaken, looks like libvirt 1.2.1 does not provide ability of merging only a subset of the entire chain of backing files.So, if I have a chain like this: root <- a <-b <- c <- d <- active ... and I'd like to obtain a chain like this: root <- c <- d <- active ... looks like it's not supported, since I'm trying the command / //virsh blockpull domain --path /path/to/c --bandwidth 30 --base /path/to/root// (1) / ... but it complains because /--path /path/to/c/ is not recognized, since only /--path /path/to/active/ is acceptable: / //virsh blockpull domain --path /path/to/active --bandwidth 30 --base /path/to/root// (2) / So, command (1) fails but command (2) succeeds. The point is: How could I obtain the results I'm trying to achieve via command (1) ? I'm new to libvirt, but the article below made me think that what I'm trying to do would be possible: http://kashyapc.fedorapeople.org/virt/lc-2012/snapshots-handout.html ( see section on /blockpull/ )I still have to make to time to submit a V2 of that that patch[1] with reflecting latest upstream status. Apart from what Eric said in painstakingly-detailed way, here's some old notes from a previous discussion with Eric on mailing lists/IRC. Eric, please point out if something is wrong below. - "blockpull" can only pull into the *active* layer. - Support to pull into an intermediate/arbitrary layer is in progress. - NOTES: - Pulling into intermediate images requires opening the intermediate file read/write, as well as ensuring that any reads done in the active layer get correct data. - Case of 'reading data' - In the chain base <- snap1 <- active if you pull base into snap1, reading active has to know whether the data comes from base or from snap1 . But if you pull into active, you already have the destination read/write, and once the data is pulled, you don't have to worry about keeping the chain consistent. - Case of 'writing data' -- If you pull into the active layer, then a write eliminates the need to pull that cluster from the backing file, thanks to copy-on-write semantics. But, if you pull into an intermediate layer, a write at the active layer doesn't affect the fac t that you still have to pull into the intermediate layer. Even though the active layer won't use that cluster from the intermediate layer. - At the moment, virsh blockpull cannot be done 'offline' (although, 'qemu-img' can do that.) [1] http://www.redhat.com/archives/libvir-list/2013-January/msg01903.html |
_______________________________________________ libvirt-users mailing list libvirt-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvirt-users