How did vm.merge do when we delete a snapshot that pointed by several other's snapshot's srcVol (as several other snapshot's backing) ?

------=_Part_119726_124618439.1516957895504 Content-Type: text/plain; charset=GBK Content-Transfer-Encoding: base64 aGVsbG8sIGV2ZXJ5b25lIQogICAgICBJIGhhdmUgc2VlbiBhYm91dCBkb2N1bWVudCBpbiBbMl0g YWJvdXQgdm0ubWVyZ2UgaW4gWzFdLCB0aGVuIEkgaGF2ZSBhIHF1ZXN0aW9uLCBJZiB3ZSB3YW50 IGRlbGV0ZSAic25hcHNob3QxIiBpbiBbM10sIGFuZCAic25hcHNob3QxIiBpcyAic25hcHNob3Qy IidzIHNyY1ZvbHVtZSBhbmQgInNuYXBzaG90MyIncyBzcmNWb2x1bWUgYXQgdGhlIAoKc2FtZSB0 aW1lLCB3aGF0IHNob3VsZCBJIGRvPyAgbGlidmlydCB3aWxsIG1lcmdlIHNuYXBzaG90MSB0byBz bmFwc2hvdDIgYW5kIHNuYXBzaG90Mz8gIG9yIG90aGVyIHdheXMgZGlkIGZvciBlZmZpY2llbmN5 PwoKCgoKVGhhbmtzIGZvciB5b3VyIGhlbHAgSWYgSSBjYW4gZ2V0IGEgcmVwbHkuCgoKCgoKWzFd IAoKQGFwaS5tZXRob2QKZGVmIG1lcmdlKHNlbGYsIGRyaXZlLCBiYXNlVm9sVVVJRCwgdG9wVm9s VVVJRCwgYmFuZHdpZHRoPTAsIGpvYlVVSUQ9Tm9uZSk6CnJldHVybiBzZWxmLnZtLm1lcmdlKAog ICAgICAgIGRyaXZlLCBiYXNlVm9sVVVJRCwgdG9wVm9sVVVJRCwgYmFuZHdpZHRoLCBqb2JVVUlE KQoKClsyXSBodHRwczovL3d3dy5vdmlydC5vcmcvZGV2ZWxvcC9yZWxlYXNlLW1hbmFnZW1lbnQv ZmVhdHVyZXMvc3RvcmFnZS9saXZlLW1lcmdlLwoKClszXQpiYWNraW5nX2ltZyAtLS0gc25hcHNo b3QxIC0tLSBzbmFwc2hvdDIgLS0tIGFjdGl2ZV9pbWcKICAgICAgICAgICAgICAgICAgICAgfAog ICAgICAgICAgICAgICAgICAgICB8CiAgICAgICAgICAgICAgICAgICAgIC0tLS0tIHNuYXBzaG90 Mw== ------=_Part_119726_124618439.1516957895504 Content-Type: text/html; charset=GBK Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6MS43O2NvbG9yOiMwMDAwMDA7Zm9udC1zaXplOjE0cHg7 Zm9udC1mYW1pbHk6QXJpYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7bHVjaWRh IEdyYW5kZSZxdW90OywgVmVyZGFuYSwgJnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7OyI+aGVs bG8sIGV2ZXJ5b25lITwvc3Bhbj48YnIgc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtsdWNpZGEg R3JhbmRlJnF1b3Q7LCBWZXJkYW5hLCAmcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDs7Ij48c3Bh biBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O2x1Y2lkYSBHcmFuZGUmcXVvdDssIFZlcmRhbmEs ICZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OzsiPiZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsg PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7bHVjaWRhIEdyYW5kZSZxdW90 OywgVmVyZGFuYSwgJnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7OyI+SSBoYXZlIHNlZW4gYWJv dXQgZG9jdW1lbnQgaW4gWzJdIGFib3V0IHZtLm1lcmdlIGluIFsxXSwgdGhlbiBJIGhhdmUgYSBx dWVzdGlvbiwmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtsdWNp ZGEgR3JhbmRlJnF1b3Q7LCBWZXJkYW5hLCAmcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDs7Ij5J ZiB3ZSB3YW50IGRlbGV0ZSAic25hcHNob3QxIiBpbiBbM10sIGFuZCAic25hcHNob3QxIiBpcyAi c25hcHNob3QyIidzIHNyY1ZvbHVtZSBhbmQgInNuYXBzaG90MyIncyBzcmNWb2x1bWUgYXQgdGhl Jm5ic3A7PC9zcGFuPjxiciBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O2x1Y2lkYSBHcmFuZGUm cXVvdDssIFZlcmRhbmEsICZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OzsiPjxkaXY+PHNwYW4g c3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtsdWNpZGEgR3JhbmRlJnF1b3Q7LCBWZXJkYW5hLCAm cXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDs7Ij5zYW1lIHRpbWUsIHdoYXQgc2hvdWxkIEkgZG8/ Jm5ic3A7IGxpYnZpcnQgd2lsbCBtZXJnZSBzbmFwc2hvdDEgdG8gc25hcHNob3QyIGFuZCBzbmFw c2hvdDM/Jm5ic3A7IG9yIG90aGVyIHdheXMgZGlkIGZvciBlPC9zcGFuPjxzcGFuIHN0eWxlPSJj b2xvcjogcmdiKDUxLCA1MSwgNTEpOyBmb250LWZhbWlseTogYXJpYWw7IGZvbnQtc2l6ZTogMTNw eDsiPmZmaWNpZW5jeT88L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6 ICZxdW90O2x1Y2lkYSBHcmFuZGUmcXVvdDssIFZlcmRhbmEsICZxdW90O01pY3Jvc29mdCBZYUhl aSZxdW90OzsiPjxicj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6 ICZxdW90O2x1Y2lkYSBHcmFuZGUmcXVvdDssIFZlcmRhbmEsICZxdW90O01pY3Jvc29mdCBZYUhl aSZxdW90OzsiPjxicj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6 ICZxdW90O2x1Y2lkYSBHcmFuZGUmcXVvdDssIFZlcmRhbmEsICZxdW90O01pY3Jvc29mdCBZYUhl aSZxdW90OzsiPlRoYW5rcyBmb3IgeW91ciBoZWxwIElmIEkgY2FuIGdldCBhIHJlcGx5Ljwvc3Bh bj48L2Rpdj48ZGl2PjxiciBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O2x1Y2lkYSBHcmFuZGUm cXVvdDssIFZlcmRhbmEsICZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OzsiPjwvZGl2PjxkaXY+ PGJyPjwvZGl2PjxiciBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O2x1Y2lkYSBHcmFuZGUmcXVv dDssIFZlcmRhbmEsICZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OzsiPjxzcGFuIHN0eWxlPSJm b250LWZhbWlseTogJnF1b3Q7bHVjaWRhIEdyYW5kZSZxdW90OywgVmVyZGFuYSwgJnF1b3Q7TWlj cm9zb2Z0IFlhSGVpJnF1b3Q7OyI+WzFdJm5ic3A7PC9zcGFuPjxiciBzdHlsZT0iZm9udC1mYW1p bHk6ICZxdW90O2x1Y2lkYSBHcmFuZGUmcXVvdDssIFZlcmRhbmEsICZxdW90O01pY3Jvc29mdCBZ YUhlaSZxdW90OzsiPjxwcmUgc3R5bGU9ImxpbmUtaGVpZ2h0OiAyNS42MTMzcHg7IGZvbnQtZmFt aWx5OiAmcXVvdDtEZWphVnUgU2FucyBNb25vJnF1b3Q7OyBmb250LXNpemU6IDExLjNwdDsiPjxz cGFuIHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDE3OCk7Ij5AYXBpLm1ldGhvZDxicj48L3NwYW4+ PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMTI4KTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5k ZWYgPC9zcGFuPm1lcmdlKDxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDE0OCwgODUsIDE0MSk7Ij5z ZWxmPC9zcGFuPiwgZHJpdmUsIGJhc2VWb2xVVUlELCB0b3BWb2xVVUlELCBiYW5kd2lkdGg9PHNw YW4gc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMjU1KTsiPjA8L3NwYW4+LCBqb2JVVUlEPTxzcGFu IHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDEyOCk7Ij5Ob25lPC9zcGFuPik6PGJyPiAgICA8c3Bh biBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAxMjgpOyBmb250LXdlaWdodDogYm9sZDsiPnJldHVy biA8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMTQ4LCA4NSwgMTQxKTsiPnNlbGY8L3Nw YW4+LnZtLm1lcmdlKDxicj4gICAgICAgIGRyaXZlLCBiYXNlVm9sVVVJRCwgdG9wVm9sVVVJRCwg YmFuZHdpZHRoLCBqb2JVVUlEKTxicj48YnI+PGJyPlsyXSBodHRwczovL3d3dy5vdmlydC5vcmcv ZGV2ZWxvcC9yZWxlYXNlLW1hbmFnZW1lbnQvZmVhdHVyZXMvc3RvcmFnZS9saXZlLW1lcmdlLzxi cj48YnI+PGJyPlszXTxicj5iYWNraW5nX2ltZyAtLS0gc25hcHNob3QxIC0tLSBzbmFwc2hvdDIg LS0tIGFjdGl2ZV9pbWc8YnI+ICAgICAgICAgICAgICAgICAgICAgfDxicj4gICAgICAgICAgICAg ICAgICAgICB8PGJyPiAgICAgICAgICAgICAgICAgICAgIC0tLS0tIHNuYXBzaG90MzwvcHJlPjwv ZGl2Pjxicj48YnI+PHNwYW4gdGl0bGU9Im5ldGVhc2Vmb290ZXIiPjxwPiZuYnNwOzwvcD48L3Nw YW4+ ------=_Part_119726_124618439.1516957895504--

On Fri, Jan 26, 2018 at 11:11 AM, pengyixiang <yxpengi386@163.com> wrote:
hello, everyone! I have seen about document in [2] about vm.merge in [1], then I have a question, If we want delete "snapshot1" in [3], and "snapshot1" is "snapshot2"'s srcVolume and "snapshot3"'s srcVolume at the same time, what should I do? libvirt will merge snapshot1 to snapshot2 and snapshot3? or other ways did for efficiency?
Thanks for your help If I can get a reply.
[1]
@api.method def merge(self, drive, baseVolUUID, topVolUUID, bandwidth=0, jobUUID=None): return self.vm.merge( drive, baseVolUUID, topVolUUID, bandwidth, jobUUID)
[2] https://www.ovirt.org/develop/release-management/features/storage/live-merge...
[3] backing_img --- snapshot1 --- snapshot2 --- active_img | | ----- snapshot3
Vdsm storage does not support this kind of dependency. If you look at the image dependency graph, we allow two kinds of branch points: one is a template ("backing_img" in your graph) which cannot be deleted. The second is a VM preview that can be taken from any point on the graph. It seems that in your case, snapshot3 branching off snapshot1 while snapshot2 already exists, is neither. If snapshot3 had belonged to a temporary VM preview of snapshot1, there is no real need (and thus, no support) for deleting snapshot1 while snapshot3 exists.
participants (2)
-
Dan Kenigsberg
-
pengyixiang