<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>hello, everyone!</div><div>&nbsp; &nbsp; &nbsp; We create a snapshot chain as follows map [1], if we delete "Snapshot1", it will call [2] in vdsm, in last, "virsh blockcommit' will be called,</div><div>but if we delete "Snapshot2", it will call [3] in vdsm, what the "<span style="font-family: &quot;DejaVu Sans Mono&quot;; font-size: 11.3pt; white-space: pre-wrap;">sdm.api.merge.</span><span style="font-family: &quot;DejaVu Sans Mono&quot;; font-size: 11.3pt; white-space: pre-wrap; background-color: rgb(228, 228, 255);">Job</span>" means?&nbsp; And I can find"blockCommit" used in vdsm by [4],</div><div>rather than "blockPull" is not used as [5], why we don't use it to merge snapshot to topVolume?</div><div><br></div><div><br></div><div><br></div><div><br></div><div>[1]</div><div><img src="cid:13a53105$1$1610884db47$Coremail$yxpengi386$163.com" orgwidth="800" orgheight="82" data-image="1" style="width: 800px; height: 82px;"></div><div><br></div><div>[2]&nbsp;<span style="color: rgb(36, 41, 46); font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; font-size: 12px; white-space: pre-wrap;"><a href="https://github.com/oVirt/vdsm/blob/2b98daffb2c2dec1bbbd3427d3d32861d77f01a7/lib/vdsm/virt/vm.py#L5744" _src="https://github.com/oVirt/vdsm/blob/2b98daffb2c2dec1bbbd3427d3d32861d77f01a7/lib/vdsm/virt/vm.py#L5744">https://github.com/oVirt/vdsm/blob/2b98daffb2c2dec1bbbd3427d3d32861d77f01a7/lib/vdsm/virt/vm.py#L5744</a></span></div><div><span style="color: rgb(36, 41, 46); font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; font-size: 12px; white-space: pre-wrap;"><br></span></div><div>[3]&nbsp;<span style="color: rgb(36, 41, 46); font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; font-size: 12px; white-space: pre-wrap;"><a href="https://github.com/oVirt/vdsm/blob/98e6a5d1ad1b097b9c993dca33372f970a3adce4/lib/vdsm/API.py#L1655" _src="https://github.com/oVirt/vdsm/blob/98e6a5d1ad1b097b9c993dca33372f970a3adce4/lib/vdsm/API.py#L1655">https://github.com/oVirt/vdsm/blob/98e6a5d1ad1b097b9c993dca33372f970a3adce4/lib/vdsm/API.py#L1655</a></span></div><div><span style="color: rgb(36, 41, 46); font-family: SFMono-Regular, Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace; font-size: 12px; white-space: pre-wrap;"> </span></div><div>[4]</div><div><div>$ grep -nR "blockCommit"</div><div>lib/vdsm/api/vdsm-api.yml:287:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; commit: A blockCommit operation (backward</div><div>lib/vdsm/api/vdsm-api.html:2413:&lt;tr&gt;&lt;td class="attrlist"&gt;commit&lt;/td&gt;&lt;td class="attrlist"&gt;&lt;/td&gt;&lt;td class="attrlist"&gt;A blockCommit operation (backward merge)&lt;/td&gt;&lt;/tr&gt;</div><div>vdsm/virt/vm.py:4909:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ret = self._dom.blockCommit(drive.path, base, top, bandwidth,</div><div>vdsm/virt/vm.py:4912:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; raise RuntimeError("blockCommit failed rc:%i", ret)</div><div>vdsm/virt/vm.py:4918:&nbsp; &nbsp; &nbsp; &nbsp; # blockCommit will cause data to be written into the base volume.</div><div>vdsm/virt/vm.py:5238:&nbsp; &nbsp; &nbsp; &nbsp; # volume automatically as part of the blockCommit operation.&nbsp; Update</div></div><div><br></div><div>[5]</div><div><div>$ grep -nR "blockPull"</div><div>lib/vdsm/api/vdsm-api.yml:290:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pull: A blockPull operation (forward merge)</div><div>lib/vdsm/api/vdsm-api.html:2412:&lt;tr&gt;&lt;td class="attrlist"&gt;pull&lt;/td&gt;&lt;td class="attrlist"&gt;&lt;/td&gt;&lt;td class="attrlist"&gt;A blockPull operation (forward merge)&lt;/td&gt;&lt;/tr&gt;</div></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><br><br><span title="neteasefooter"><p>&nbsp;</p></span>