mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 17:35:17 +00:00
tests: qemublock: Add checkpoint deletion test for deep backing chain
Add test cases for merging various pairs of bitmaps when snapshots were created together with checkpoints. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
30bc426071
commit
3c1c35bada
@ -1019,6 +1019,12 @@ mymain(void)
|
|||||||
TEST_CHECKPOINT_DELETE_MERGE("basic-intermediate3", "d", "c", "basic");
|
TEST_CHECKPOINT_DELETE_MERGE("basic-intermediate3", "d", "c", "basic");
|
||||||
TEST_CHECKPOINT_DELETE_MERGE("basic-current", "current", "d", "basic");
|
TEST_CHECKPOINT_DELETE_MERGE("basic-current", "current", "d", "basic");
|
||||||
|
|
||||||
|
TEST_CHECKPOINT_DELETE_MERGE("snapshots-noparent", "a", NULL, "snapshots");
|
||||||
|
TEST_CHECKPOINT_DELETE_MERGE("snapshots-intermediate1", "b", "a", "snapshots");
|
||||||
|
TEST_CHECKPOINT_DELETE_MERGE("snapshots-intermediate2", "c", "b", "snapshots");
|
||||||
|
TEST_CHECKPOINT_DELETE_MERGE("snapshots-intermediate3", "d", "c", "snapshots");
|
||||||
|
TEST_CHECKPOINT_DELETE_MERGE("snapshots-current", "current", "d", "snapshots");
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
virHashFree(diskxmljsondata.schema);
|
virHashFree(diskxmljsondata.schema);
|
||||||
qemuTestDriverFree(&driver);
|
qemuTestDriverFree(&driver);
|
||||||
|
@ -0,0 +1,29 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-enable",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-1-format",
|
||||||
|
"name": "d"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-merge",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-1-format",
|
||||||
|
"target": "d",
|
||||||
|
"bitmaps": [
|
||||||
|
{
|
||||||
|
"node": "libvirt-1-format",
|
||||||
|
"name": "current"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-remove",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-1-format",
|
||||||
|
"name": "current"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
@ -0,0 +1,22 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-merge",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-3-format",
|
||||||
|
"target": "a",
|
||||||
|
"bitmaps": [
|
||||||
|
{
|
||||||
|
"node": "libvirt-3-format",
|
||||||
|
"name": "b"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-remove",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-3-format",
|
||||||
|
"name": "b"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
@ -0,0 +1,59 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-add",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-2-format",
|
||||||
|
"name": "b",
|
||||||
|
"persistent": true,
|
||||||
|
"disabled": true,
|
||||||
|
"granularity": 65536
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-merge",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-2-format",
|
||||||
|
"target": "b",
|
||||||
|
"bitmaps": [
|
||||||
|
{
|
||||||
|
"node": "libvirt-2-format",
|
||||||
|
"name": "c"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-remove",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-2-format",
|
||||||
|
"name": "c"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-enable",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-3-format",
|
||||||
|
"name": "b"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-merge",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-3-format",
|
||||||
|
"target": "b",
|
||||||
|
"bitmaps": [
|
||||||
|
{
|
||||||
|
"node": "libvirt-3-format",
|
||||||
|
"name": "c"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-remove",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-3-format",
|
||||||
|
"name": "c"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
@ -0,0 +1,59 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-add",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-1-format",
|
||||||
|
"name": "c",
|
||||||
|
"persistent": true,
|
||||||
|
"disabled": true,
|
||||||
|
"granularity": 65536
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-merge",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-1-format",
|
||||||
|
"target": "c",
|
||||||
|
"bitmaps": [
|
||||||
|
{
|
||||||
|
"node": "libvirt-1-format",
|
||||||
|
"name": "d"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-remove",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-1-format",
|
||||||
|
"name": "d"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-enable",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-2-format",
|
||||||
|
"name": "c"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-merge",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-2-format",
|
||||||
|
"target": "c",
|
||||||
|
"bitmaps": [
|
||||||
|
{
|
||||||
|
"node": "libvirt-2-format",
|
||||||
|
"name": "d"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-remove",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-2-format",
|
||||||
|
"name": "d"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
@ -0,0 +1,23 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-remove",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-3-format",
|
||||||
|
"name": "a"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-remove",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-4-format",
|
||||||
|
"name": "a"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "block-dirty-bitmap-remove",
|
||||||
|
"data": {
|
||||||
|
"node": "libvirt-5-format",
|
||||||
|
"name": "a"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
Loading…
x
Reference in New Issue
Block a user