render / rpms / libvirt

Forked from rpms/libvirt 10 months ago
Clone
Blob Blame History Raw
From 54c8ab3178409f52113c99dca660c1024573ef7e Mon Sep 17 00:00:00 2001
Message-Id: <54c8ab3178409f52113c99dca660c1024573ef7e@dist-git>
From: Peter Krempa <pkrempa@redhat.com>
Date: Wed, 19 Feb 2020 15:10:23 +0100
Subject: [PATCH] tests: qemublock: Add cases for creating image overlays on
 top of disks with <slice>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Add a set of test data to see whether the backing store strings are
formatted reasonably. Note that we don't support direct creation of such
images so those tests are not enabled.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
(cherry picked from commit 9b804ef5efcd3b1e91bbf75f4e94a35630c062c5)

https://bugzilla.redhat.com/show_bug.cgi?id=1791788
Message-Id: <6639bab2e1e9dbdf13471057a1cb3accd1c30549.1582120424.git.pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
 tests/qemublocktest.c                             |  2 ++
 .../imagecreate/qcow2-backing-qcow2-slice.json    | 15 +++++++++++++++
 .../imagecreate/qcow2-backing-qcow2-slice.xml     |  1 +
 .../imagecreate/qcow2-backing-raw-slice.json      | 15 +++++++++++++++
 .../imagecreate/qcow2-backing-raw-slice.xml       |  1 +
 .../qemublocktestdata/imagecreate/qcow2-slice.xml | 14 ++++++++++++++
 tests/qemublocktestdata/imagecreate/raw-slice.xml | 14 ++++++++++++++
 7 files changed, 62 insertions(+)
 create mode 100644 tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.json
 create mode 120000 tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.xml
 create mode 100644 tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.json
 create mode 120000 tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.xml
 create mode 100644 tests/qemublocktestdata/imagecreate/qcow2-slice.xml
 create mode 100644 tests/qemublocktestdata/imagecreate/raw-slice.xml

diff --git a/tests/qemublocktest.c b/tests/qemublocktest.c
index f66d894aed..29af0781fc 100644
--- a/tests/qemublocktest.c
+++ b/tests/qemublocktest.c
@@ -1060,6 +1060,8 @@ mymain(void)
     TEST_IMAGE_CREATE("qcow2-backing-raw-nbd", "raw-nbd");
     TEST_IMAGE_CREATE("qcow2-backing-luks", "luks-noopts");
     TEST_IMAGE_CREATE("qcow2-luks-encopts-backing", "qcow2");
+    TEST_IMAGE_CREATE("qcow2-backing-raw-slice", "raw-slice");
+    TEST_IMAGE_CREATE("qcow2-backing-qcow2-slice", "qcow2-slice");
 
     TEST_IMAGE_CREATE("network-gluster-qcow2", NULL);
     TEST_IMAGE_CREATE("network-rbd-qcow2", NULL);
diff --git a/tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.json b/tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.json
new file mode 100644
index 0000000000..2fa27c1933
--- /dev/null
+++ b/tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.json
@@ -0,0 +1,15 @@
+protocol:
+{
+  "driver": "file",
+  "filename": "/var/lib/libvirt/images/i.qcow2",
+  "size": 4294967296
+}
+
+format:
+{
+  "driver": "qcow2",
+  "file": "0123456789ABCDEF0123456789ABCDE",
+  "size": 8589934590,
+  "backing-file": "json:{\"driver\":\"raw\",\"offset\":1234,\"size\":5768,\"file\":{\"driver\":\"file\",\"filename\":\"/var/lib/libvirt/images/i.qcow2\"}}",
+  "backing-fmt": "qcow2"
+}
diff --git a/tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.xml b/tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.xml
new file mode 120000
index 0000000000..5769c2c866
--- /dev/null
+++ b/tests/qemublocktestdata/imagecreate/qcow2-backing-qcow2-slice.xml
@@ -0,0 +1 @@
+qcow2.xml
\ No newline at end of file
diff --git a/tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.json b/tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.json
new file mode 100644
index 0000000000..761002afd9
--- /dev/null
+++ b/tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.json
@@ -0,0 +1,15 @@
+protocol:
+{
+  "driver": "file",
+  "filename": "/var/lib/libvirt/images/i.qcow2",
+  "size": 4294967296
+}
+
+format:
+{
+  "driver": "qcow2",
+  "file": "0123456789ABCDEF0123456789ABCDE",
+  "size": 8589934590,
+  "backing-file": "json:{\"driver\":\"raw\",\"offset\":9876,\"size\":54321,\"file\":{\"driver\":\"file\",\"filename\":\"/var/lib/libvirt/images/i.img\"}}",
+  "backing-fmt": "raw"
+}
diff --git a/tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.xml b/tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.xml
new file mode 120000
index 0000000000..5769c2c866
--- /dev/null
+++ b/tests/qemublocktestdata/imagecreate/qcow2-backing-raw-slice.xml
@@ -0,0 +1 @@
+qcow2.xml
\ No newline at end of file
diff --git a/tests/qemublocktestdata/imagecreate/qcow2-slice.xml b/tests/qemublocktestdata/imagecreate/qcow2-slice.xml
new file mode 100644
index 0000000000..6c5ae3107b
--- /dev/null
+++ b/tests/qemublocktestdata/imagecreate/qcow2-slice.xml
@@ -0,0 +1,14 @@
+<disk device='disk' name='vda'>
+  <driver type='qcow2'/>
+  <source file='/var/lib/libvirt/images/i.qcow2'>
+    <slices>
+      <slice type='storage' offset='1234' size='5768'/>
+    </slices>
+    <privateData>
+      <nodenames>
+        <nodename type='storage' name='0123456789ABCDEF0123456789ABCDE'/>
+        <nodename type='format' name='0123456789ABCDEF0123456789ABCDE'/>
+      </nodenames>
+    </privateData>
+  </source>
+</disk>
diff --git a/tests/qemublocktestdata/imagecreate/raw-slice.xml b/tests/qemublocktestdata/imagecreate/raw-slice.xml
new file mode 100644
index 0000000000..adc7a175ce
--- /dev/null
+++ b/tests/qemublocktestdata/imagecreate/raw-slice.xml
@@ -0,0 +1,14 @@
+<disk device='disk' name='vda'>
+  <driver type='raw'/>
+  <source file='/var/lib/libvirt/images/i.img'>
+    <slices>
+      <slice type='storage' offset='9876' size='54321'/>
+    </slices>
+    <privateData>
+      <nodenames>
+        <nodename type='storage' name='0123456789ABCDEF0123456789ABCDE'/>
+        <nodename type='format' name='0123456789ABCDEF0123456789ABCDE'/>
+      </nodenames>
+    </privateData>
+  </source>
+</disk>
-- 
2.25.0