[PATCH 20/23] tests: qemumonitorjson: Add relative image names for node name detection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



oVirt uses relative names with directories in them. Test such
configuration. Also tests a snapshot done with _REUSE_EXTERNAL and a
relative backing file pre-specified in the qcow2 metadata.
---
 .../qemumonitorjson-nodename-relative.json         | 554 +++++++++++++++++++++
 .../qemumonitorjson-nodename-relative.result       |  31 ++
 tests/qemumonitorjsontest.c                        |   1 +
 3 files changed, 586 insertions(+)
 create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.json
 create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result

diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.json
new file mode 100644
index 000000000..1fee149ac
--- /dev/null
+++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.json
@@ -0,0 +1,554 @@
+[
+    {
+      "iops_rd": 0,
+      "detect_zeroes": "off",
+      "image": {
+        "backing-image": {
+          "virtual-size": 10485760,
+          "filename": "/var/lib/libvirt/images/base.qcow2",
+          "cluster-size": 65536,
+          "format": "qcow2",
+          "actual-size": 200704,
+          "format-specific": {
+            "type": "qcow2",
+            "data": {
+              "compat": "1.1",
+              "lazy-refcounts": false,
+              "refcount-bits": 16,
+              "corrupt": false
+            }
+          },
+          "dirty-flag": false
+        },
+        "backing-filename-format": "qcow2",
+        "virtual-size": 10485760,
+        "filename": "/var/lib/libvirt/images/relsnap.qcow2",
+        "cluster-size": 65536,
+        "format": "qcow2",
+        "actual-size": 200704,
+        "format-specific": {
+          "type": "qcow2",
+          "data": {
+            "compat": "1.1",
+            "lazy-refcounts": false,
+            "refcount-bits": 16,
+            "corrupt": false
+          }
+        },
+        "full-backing-filename": "/var/lib/libvirt/images/base.qcow2",
+        "backing-filename": "/var/lib/libvirt/images/base.qcow2",
+        "dirty-flag": false
+      },
+      "iops_wr": 0,
+      "ro": false,
+      "node-name": "#block1177",
+      "backing_file_depth": 1,
+      "drv": "qcow2",
+      "iops": 0,
+      "bps_wr": 0,
+      "write_threshold": 0,
+      "backing_file": "/var/lib/libvirt/images/base.qcow2",
+      "encrypted": false,
+      "bps": 0,
+      "bps_rd": 0,
+      "cache": {
+        "no-flush": false,
+        "direct": false,
+        "writeback": true
+      },
+      "file": "/var/lib/libvirt/images/relsnap.qcow2",
+      "encryption_key_missing": false
+    },
+    {
+      "iops_rd": 0,
+      "detect_zeroes": "off",
+      "image": {
+        "virtual-size": 197120,
+        "filename": "/var/lib/libvirt/images/relsnap.qcow2",
+        "format": "file",
+        "actual-size": 200704,
+        "dirty-flag": false
+      },
+      "iops_wr": 0,
+      "ro": false,
+      "node-name": "#block1027",
+      "backing_file_depth": 0,
+      "drv": "file",
+      "iops": 0,
+      "bps_wr": 0,
+      "write_threshold": 0,
+      "encrypted": false,
+      "bps": 0,
+      "bps_rd": 0,
+      "cache": {
+        "no-flush": false,
+        "direct": false,
+        "writeback": true
+      },
+      "file": "/var/lib/libvirt/images/relsnap.qcow2",
+      "encryption_key_missing": false
+    },
+    {
+      "iops_rd": 0,
+      "detect_zeroes": "off",
+      "image": {
+        "virtual-size": 10485760,
+        "filename": "/var/lib/libvirt/images/base.qcow2",
+        "cluster-size": 65536,
+        "format": "qcow2",
+        "actual-size": 200704,
+        "format-specific": {
+          "type": "qcow2",
+          "data": {
+            "compat": "1.1",
+            "lazy-refcounts": false,
+            "refcount-bits": 16,
+            "corrupt": false
+          }
+        },
+        "dirty-flag": false
+      },
+      "iops_wr": 0,
+      "ro": true,
+      "node-name": "#block957",
+      "backing_file_depth": 0,
+      "drv": "qcow2",
+      "iops": 0,
+      "bps_wr": 0,
+      "write_threshold": 0,
+      "encrypted": false,
+      "bps": 0,
+      "bps_rd": 0,
+      "cache": {
+        "no-flush": false,
+        "direct": false,
+        "writeback": true
+      },
+      "file": "/var/lib/libvirt/images/base.qcow2",
+      "encryption_key_missing": false
+    },
+    {
+      "iops_rd": 0,
+      "detect_zeroes": "off",
+      "image": {
+        "virtual-size": 197120,
+        "filename": "/var/lib/libvirt/images/base.qcow2",
+        "format": "file",
+        "actual-size": 200704,
+        "dirty-flag": false
+      },
+      "iops_wr": 0,
+      "ro": true,
+      "node-name": "#block840",
+      "backing_file_depth": 0,
+      "drv": "file",
+      "iops": 0,
+      "bps_wr": 0,
+      "write_threshold": 0,
+      "encrypted": false,
+      "bps": 0,
+      "bps_rd": 0,
+      "cache": {
+        "no-flush": false,
+        "direct": false,
+        "writeback": true
+      },
+      "file": "/var/lib/libvirt/images/base.qcow2",
+      "encryption_key_missing": false
+    },
+    {
+      "iops_rd": 0,
+      "detect_zeroes": "off",
+      "image": {
+        "virtual-size": 10485760,
+        "filename": "/var/lib/libvirt/images/img0",
+        "cluster-size": 65536,
+        "format": "qcow2",
+        "actual-size": 200704,
+        "format-specific": {
+          "type": "qcow2",
+          "data": {
+            "compat": "1.1",
+            "lazy-refcounts": false,
+            "refcount-bits": 16,
+            "corrupt": false
+          }
+        },
+        "dirty-flag": false
+      },
+      "iops_wr": 0,
+      "ro": true,
+      "node-name": "#block709",
+      "backing_file_depth": 0,
+      "drv": "qcow2",
+      "iops": 0,
+      "bps_wr": 0,
+      "write_threshold": 0,
+      "encrypted": false,
+      "bps": 0,
+      "bps_rd": 0,
+      "cache": {
+        "no-flush": false,
+        "direct": false,
+        "writeback": true
+      },
+      "file": "/var/lib/libvirt/images/img0",
+      "encryption_key_missing": false
+    },
+    {
+      "iops_rd": 0,
+      "detect_zeroes": "off",
+      "image": {
+        "virtual-size": 197120,
+        "filename": "/var/lib/libvirt/images/img0",
+        "format": "file",
+        "actual-size": 200704,
+        "dirty-flag": false
+      },
+      "iops_wr": 0,
+      "ro": true,
+      "node-name": "#block665",
+      "backing_file_depth": 0,
+      "drv": "file",
+      "iops": 0,
+      "bps_wr": 0,
+      "write_threshold": 0,
+      "encrypted": false,
+      "bps": 0,
+      "bps_rd": 0,
+      "cache": {
+        "no-flush": false,
+        "direct": false,
+        "writeback": true
+      },
+      "file": "/var/lib/libvirt/images/img0",
+      "encryption_key_missing": false
+    },
+    {
+      "iops_rd": 0,
+      "detect_zeroes": "off",
+      "image": {
+        "backing-image": {
+          "virtual-size": 10485760,
+          "filename": "/var/lib/libvirt/images/img0",
+          "cluster-size": 65536,
+          "format": "qcow2",
+          "actual-size": 200704,
+          "format-specific": {
+            "type": "qcow2",
+            "data": {
+              "compat": "1.1",
+              "lazy-refcounts": false,
+              "refcount-bits": 16,
+              "corrupt": false
+            }
+          },
+          "dirty-flag": false
+        },
+        "backing-filename-format": "qcow2",
+        "virtual-size": 10485760,
+        "filename": "/var/lib/libvirt/images/img1",
+        "cluster-size": 65536,
+        "format": "qcow2",
+        "actual-size": 200704,
+        "format-specific": {
+          "type": "qcow2",
+          "data": {
+            "compat": "1.1",
+            "lazy-refcounts": false,
+            "refcount-bits": 16,
+            "corrupt": false
+          }
+        },
+        "full-backing-filename": "/var/lib/libvirt/images/img0",
+        "backing-filename": "/var/lib/libvirt/images/img0",
+        "dirty-flag": false
+      },
+      "iops_wr": 0,
+      "ro": true,
+      "node-name": "#block514",
+      "backing_file_depth": 1,
+      "drv": "qcow2",
+      "iops": 0,
+      "bps_wr": 0,
+      "write_threshold": 0,
+      "backing_file": "/var/lib/libvirt/images/img0",
+      "encrypted": false,
+      "bps": 0,
+      "bps_rd": 0,
+      "cache": {
+        "no-flush": false,
+        "direct": false,
+        "writeback": true
+      },
+      "file": "/var/lib/libvirt/images/img1",
+      "encryption_key_missing": false
+    },
+    {
+      "iops_rd": 0,
+      "detect_zeroes": "off",
+      "image": {
+        "virtual-size": 197120,
+        "filename": "/var/lib/libvirt/images/img1",
+        "format": "file",
+        "actual-size": 200704,
+        "dirty-flag": false
+      },
+      "iops_wr": 0,
+      "ro": true,
+      "node-name": "#block481",
+      "backing_file_depth": 0,
+      "drv": "file",
+      "iops": 0,
+      "bps_wr": 0,
+      "write_threshold": 0,
+      "encrypted": false,
+      "bps": 0,
+      "bps_rd": 0,
+      "cache": {
+        "no-flush": false,
+        "direct": false,
+        "writeback": true
+      },
+      "file": "/var/lib/libvirt/images/img1",
+      "encryption_key_missing": false
+    },
+    {
+      "iops_rd": 0,
+      "detect_zeroes": "off",
+      "image": {
+        "backing-image": {
+          "backing-image": {
+            "virtual-size": 10485760,
+            "filename": "/var/lib/libvirt/images/img0",
+            "cluster-size": 65536,
+            "format": "qcow2",
+            "actual-size": 200704,
+            "format-specific": {
+              "type": "qcow2",
+              "data": {
+                "compat": "1.1",
+                "lazy-refcounts": false,
+                "refcount-bits": 16,
+                "corrupt": false
+              }
+            },
+            "dirty-flag": false
+          },
+          "backing-filename-format": "qcow2",
+          "virtual-size": 10485760,
+          "filename": "/var/lib/libvirt/images/img1",
+          "cluster-size": 65536,
+          "format": "qcow2",
+          "actual-size": 200704,
+          "format-specific": {
+            "type": "qcow2",
+            "data": {
+              "compat": "1.1",
+              "lazy-refcounts": false,
+              "refcount-bits": 16,
+              "corrupt": false
+            }
+          },
+          "full-backing-filename": "/var/lib/libvirt/images/img0",
+          "backing-filename": "/var/lib/libvirt/images/img0",
+          "dirty-flag": false
+        },
+        "backing-filename-format": "qcow2",
+        "virtual-size": 10485760,
+        "filename": "/var/lib/libvirt/images/img2",
+        "cluster-size": 65536,
+        "format": "qcow2",
+        "actual-size": 200704,
+        "format-specific": {
+          "type": "qcow2",
+          "data": {
+            "compat": "1.1",
+            "lazy-refcounts": false,
+            "refcount-bits": 16,
+            "corrupt": false
+          }
+        },
+        "full-backing-filename": "/var/lib/libvirt/images/img1",
+        "backing-filename": "/var/lib/libvirt/images/img1",
+        "dirty-flag": false
+      },
+      "iops_wr": 0,
+      "ro": true,
+      "node-name": "#block357",
+      "backing_file_depth": 2,
+      "drv": "qcow2",
+      "iops": 0,
+      "bps_wr": 0,
+      "write_threshold": 0,
+      "backing_file": "/var/lib/libvirt/images/img1",
+      "encrypted": false,
+      "bps": 0,
+      "bps_rd": 0,
+      "cache": {
+        "no-flush": false,
+        "direct": false,
+        "writeback": true
+      },
+      "file": "/var/lib/libvirt/images/img2",
+      "encryption_key_missing": false
+    },
+    {
+      "iops_rd": 0,
+      "detect_zeroes": "off",
+      "image": {
+        "virtual-size": 197120,
+        "filename": "/var/lib/libvirt/images/img2",
+        "format": "file",
+        "actual-size": 200704,
+        "dirty-flag": false
+      },
+      "iops_wr": 0,
+      "ro": true,
+      "node-name": "#block290",
+      "backing_file_depth": 0,
+      "drv": "file",
+      "iops": 0,
+      "bps_wr": 0,
+      "write_threshold": 0,
+      "encrypted": false,
+      "bps": 0,
+      "bps_rd": 0,
+      "cache": {
+        "no-flush": false,
+        "direct": false,
+        "writeback": true
+      },
+      "file": "/var/lib/libvirt/images/img2",
+      "encryption_key_missing": false
+    },
+    {
+      "iops_rd": 0,
+      "detect_zeroes": "off",
+      "image": {
+        "backing-image": {
+          "backing-image": {
+            "backing-image": {
+              "virtual-size": 10485760,
+              "filename": "/var/lib/libvirt/images/img0",
+              "cluster-size": 65536,
+              "format": "qcow2",
+              "actual-size": 200704,
+              "format-specific": {
+                "type": "qcow2",
+                "data": {
+                  "compat": "1.1",
+                  "lazy-refcounts": false,
+                  "refcount-bits": 16,
+                  "corrupt": false
+                }
+              },
+              "dirty-flag": false
+            },
+            "backing-filename-format": "qcow2",
+            "virtual-size": 10485760,
+            "filename": "/var/lib/libvirt/images/img1",
+            "cluster-size": 65536,
+            "format": "qcow2",
+            "actual-size": 200704,
+            "format-specific": {
+              "type": "qcow2",
+              "data": {
+                "compat": "1.1",
+                "lazy-refcounts": false,
+                "refcount-bits": 16,
+                "corrupt": false
+              }
+            },
+            "full-backing-filename": "/var/lib/libvirt/images/img0",
+            "backing-filename": "/var/lib/libvirt/images/img0",
+            "dirty-flag": false
+          },
+          "backing-filename-format": "qcow2",
+          "virtual-size": 10485760,
+          "filename": "/var/lib/libvirt/images/img2",
+          "cluster-size": 65536,
+          "format": "qcow2",
+          "actual-size": 200704,
+          "format-specific": {
+            "type": "qcow2",
+            "data": {
+              "compat": "1.1",
+              "lazy-refcounts": false,
+              "refcount-bits": 16,
+              "corrupt": false
+            }
+          },
+          "full-backing-filename": "/var/lib/libvirt/images/img1",
+          "backing-filename": "/var/lib/libvirt/images/img1",
+          "dirty-flag": false
+        },
+        "backing-filename-format": "qcow2",
+        "virtual-size": 10485760,
+        "filename": "/var/lib/libvirt/images/img3",
+        "cluster-size": 65536,
+        "format": "qcow2",
+        "actual-size": 200704,
+        "format-specific": {
+          "type": "qcow2",
+          "data": {
+            "compat": "1.1",
+            "lazy-refcounts": false,
+            "refcount-bits": 16,
+            "corrupt": false
+          }
+        },
+        "full-backing-filename": "/var/lib/libvirt/images/img2",
+        "backing-filename": "/var/lib/libvirt/images/img2",
+        "dirty-flag": false
+      },
+      "iops_wr": 0,
+      "ro": false,
+      "node-name": "#block153",
+      "backing_file_depth": 3,
+      "drv": "qcow2",
+      "iops": 0,
+      "bps_wr": 0,
+      "write_threshold": 0,
+      "backing_file": "/var/lib/libvirt/images/img2",
+      "encrypted": false,
+      "bps": 0,
+      "bps_rd": 0,
+      "cache": {
+        "no-flush": false,
+        "direct": false,
+        "writeback": true
+      },
+      "file": "/var/lib/libvirt/images/img3",
+      "encryption_key_missing": false
+    },
+    {
+      "iops_rd": 0,
+      "detect_zeroes": "off",
+      "image": {
+        "virtual-size": 197120,
+        "filename": "/var/lib/libvirt/images/img3",
+        "format": "file",
+        "actual-size": 200704,
+        "dirty-flag": false
+      },
+      "iops_wr": 0,
+      "ro": false,
+      "node-name": "#block076",
+      "backing_file_depth": 0,
+      "drv": "file",
+      "iops": 0,
+      "bps_wr": 0,
+      "write_threshold": 0,
+      "encrypted": false,
+      "bps": 0,
+      "bps_rd": 0,
+      "cache": {
+        "no-flush": false,
+        "direct": false,
+        "writeback": true
+      },
+      "file": "/var/lib/libvirt/images/img3",
+      "encryption_key_missing": false
+    }
+  ]
diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result b/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result
new file mode 100644
index 000000000..2cd908786
--- /dev/null
+++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result
@@ -0,0 +1,31 @@
+filename    : '/var/lib/libvirt/images/img3'
+format node : '#block153'
+storage node: '#block076'
+backingfile : '/var/lib/libvirt/images/img2'
+backing ptr : '#block357'
+  filename    : '/var/lib/libvirt/images/img2'
+  format node : '#block357'
+  storage node: '#block290'
+  backingfile : '/var/lib/libvirt/images/img1'
+  backing ptr : '#block514'
+    filename    : '/var/lib/libvirt/images/img1'
+    format node : '#block514'
+    storage node: '#block481'
+    backingfile : '/var/lib/libvirt/images/img0'
+    backing ptr : '#block709'
+      filename    : '/var/lib/libvirt/images/img0'
+      format node : '#block709'
+      storage node: '#block665'
+      backingfile : '<null>'
+      backing ptr : '<null>'
+
+filename    : '/var/lib/libvirt/images/relsnap.qcow2'
+format node : '#block1177'
+storage node: '#block1027'
+backingfile : '/var/lib/libvirt/images/base.qcow2'
+backing ptr : '#block957'
+  filename    : '/var/lib/libvirt/images/base.qcow2'
+  format node : '#block957'
+  storage node: '#block840'
+  backingfile : '<null>'
+  backing ptr : '<null>'
diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index 7e3e7db27..5b9f24d24 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -2908,6 +2908,7 @@ mymain(void)
     DO_TEST_BLOCK_NODE_DETECT("1", "#block118");
     DO_TEST_BLOCK_NODE_DETECT("2", "#block161");
     DO_TEST_BLOCK_NODE_DETECT("same-backing", "#block170,#block574");
+    DO_TEST_BLOCK_NODE_DETECT("relative", "#block153,#block1177");

 #undef DO_TEST_BLOCK_NODE_DETECT

-- 
2.12.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]
  Powered by Linux