<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi Kashyap,<br>
      <br>
      Thanks a lot for clarifying.<br>
      <br>
      If there's an open issue for this improvement, please let me so
      that I will subscribe to it.<br>
      <br>
      Cheers :)<br>
      <br>
      <div class="moz-signature">Richard Gomes<br>
        <a href="http://rgomes.info">http://rgomes.info</a><br>
        <a href="http://www.linkedin.com/in/rgomes">http://www.linkedin.com/in/rgomes</a><br>
        mobile: +44(77)9955-6813<br>
        <a href="http://www.inum.net/">inum</a>: +883(5100)0800-9804<br>
        <a class="moz-txt-link-abbreviated" href="mailto:sip:rgomes@ippi.fr">sip:rgomes@ippi.fr</a><br>
        <br>
      </div>
      On 31/01/14 18:31, Kashyap Chamarthy wrote:<br>
    </div>
    <blockquote cite="mid:52EBEC09.1060603@redhat.com" type="cite">
      <pre wrap="">On 01/29/2014 08:21 PM, Richard Gomes wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">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.
</pre>
      </blockquote>
      <pre wrap="">

</pre>
      <blockquote type="cite">
        <pre wrap="">
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:
     
<a class="moz-txt-link-freetext" href="http://kashyapc.fedorapeople.org/virt/lc-2012/snapshots-handout.html">http://kashyapc.fedorapeople.org/virt/lc-2012/snapshots-handout.html</a>  (
see section on /blockpull/ )
</pre>
      </blockquote>
      <pre wrap="">
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] <a class="moz-txt-link-freetext" href="http://www.redhat.com/archives/libvir-list/2013-January/msg01903.html">http://www.redhat.com/archives/libvir-list/2013-January/msg01903.html</a>


</pre>
    </blockquote>
    <br>
  </body>
</html>