Add the blockstats data and fix the expected output. --- ...mumonitorjson-nodename-relative-blockstats.json | 329 +++++++++++++++++++++ ...umonitorjson-nodename-relative-named-nodes.json | 26 +- .../qemumonitorjson-nodename-relative.result | 44 ++- tests/qemumonitorjsontest.c | 2 +- 4 files changed, 372 insertions(+), 29 deletions(-) create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-blockstats.json diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-blockstats.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-blockstats.json new file mode 100644 index 000000000..9838ad1a7 --- /dev/null +++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-blockstats.json @@ -0,0 +1,329 @@ +[ + { + "device": "drive-ide0-0-0", + "parent": { + "stats": { + "flush_total_time_ns": 0, + "wr_highest_offset": 0, + "wr_total_time_ns": 0, + "failed_wr_operations": 0, + "failed_rd_operations": 0, + "wr_merged": 0, + "wr_bytes": 0, + "timed_stats": [ + + ], + "failed_flush_operations": 0, + "account_invalid": false, + "rd_total_time_ns": 0, + "flush_operations": 0, + "wr_operations": 0, + "rd_merged": 0, + "rd_bytes": 0, + "invalid_flush_operations": 0, + "account_failed": false, + "rd_operations": 0, + "invalid_wr_operations": 0, + "invalid_rd_operations": 0 + }, + "node-name": "#block092" + }, + "stats": { + "flush_total_time_ns": 0, + "wr_highest_offset": 0, + "wr_total_time_ns": 0, + "failed_wr_operations": 0, + "failed_rd_operations": 0, + "wr_merged": 0, + "wr_bytes": 0, + "timed_stats": [ + + ], + "failed_flush_operations": 0, + "account_invalid": true, + "rd_total_time_ns": 61904, + "flush_operations": 0, + "wr_operations": 0, + "rd_merged": 0, + "rd_bytes": 512, + "invalid_flush_operations": 0, + "account_failed": true, + "idle_time_ns": 309814663943, + "rd_operations": 1, + "invalid_wr_operations": 0, + "invalid_rd_operations": 0 + }, + "backing": { + "parent": { + "stats": { + "flush_total_time_ns": 0, + "wr_highest_offset": 0, + "wr_total_time_ns": 0, + "failed_wr_operations": 0, + "failed_rd_operations": 0, + "wr_merged": 0, + "wr_bytes": 0, + "timed_stats": [ + + ], + "failed_flush_operations": 0, + "account_invalid": false, + "rd_total_time_ns": 0, + "flush_operations": 0, + "wr_operations": 0, + "rd_merged": 0, + "rd_bytes": 0, + "invalid_flush_operations": 0, + "account_failed": false, + "rd_operations": 0, + "invalid_wr_operations": 0, + "invalid_rd_operations": 0 + }, + "node-name": "#block232" + }, + "stats": { + "flush_total_time_ns": 0, + "wr_highest_offset": 0, + "wr_total_time_ns": 0, + "failed_wr_operations": 0, + "failed_rd_operations": 0, + "wr_merged": 0, + "wr_bytes": 0, + "timed_stats": [ + + ], + "failed_flush_operations": 0, + "account_invalid": false, + "rd_total_time_ns": 0, + "flush_operations": 0, + "wr_operations": 0, + "rd_merged": 0, + "rd_bytes": 0, + "invalid_flush_operations": 0, + "account_failed": false, + "rd_operations": 0, + "invalid_wr_operations": 0, + "invalid_rd_operations": 0 + }, + "backing": { + "parent": { + "stats": { + "flush_total_time_ns": 0, + "wr_highest_offset": 0, + "wr_total_time_ns": 0, + "failed_wr_operations": 0, + "failed_rd_operations": 0, + "wr_merged": 0, + "wr_bytes": 0, + "timed_stats": [ + + ], + "failed_flush_operations": 0, + "account_invalid": false, + "rd_total_time_ns": 0, + "flush_operations": 0, + "wr_operations": 0, + "rd_merged": 0, + "rd_bytes": 0, + "invalid_flush_operations": 0, + "account_failed": false, + "rd_operations": 0, + "invalid_wr_operations": 0, + "invalid_rd_operations": 0 + }, + "node-name": "#block442" + }, + "stats": { + "flush_total_time_ns": 0, + "wr_highest_offset": 0, + "wr_total_time_ns": 0, + "failed_wr_operations": 0, + "failed_rd_operations": 0, + "wr_merged": 0, + "wr_bytes": 0, + "timed_stats": [ + + ], + "failed_flush_operations": 0, + "account_invalid": false, + "rd_total_time_ns": 0, + "flush_operations": 0, + "wr_operations": 0, + "rd_merged": 0, + "rd_bytes": 0, + "invalid_flush_operations": 0, + "account_failed": false, + "rd_operations": 0, + "invalid_wr_operations": 0, + "invalid_rd_operations": 0 + }, + "backing": { + "parent": { + "stats": { + "flush_total_time_ns": 0, + "wr_highest_offset": 0, + "wr_total_time_ns": 0, + "failed_wr_operations": 0, + "failed_rd_operations": 0, + "wr_merged": 0, + "wr_bytes": 0, + "timed_stats": [ + + ], + "failed_flush_operations": 0, + "account_invalid": false, + "rd_total_time_ns": 0, + "flush_operations": 0, + "wr_operations": 0, + "rd_merged": 0, + "rd_bytes": 0, + "invalid_flush_operations": 0, + "account_failed": false, + "rd_operations": 0, + "invalid_wr_operations": 0, + "invalid_rd_operations": 0 + }, + "node-name": "#block614" + }, + "stats": { + "flush_total_time_ns": 0, + "wr_highest_offset": 0, + "wr_total_time_ns": 0, + "failed_wr_operations": 0, + "failed_rd_operations": 0, + "wr_merged": 0, + "wr_bytes": 0, + "timed_stats": [ + + ], + "failed_flush_operations": 0, + "account_invalid": false, + "rd_total_time_ns": 0, + "flush_operations": 0, + "wr_operations": 0, + "rd_merged": 0, + "rd_bytes": 0, + "invalid_flush_operations": 0, + "account_failed": false, + "rd_operations": 0, + "invalid_wr_operations": 0, + "invalid_rd_operations": 0 + }, + "node-name": "#block797" + }, + "node-name": "#block548" + }, + "node-name": "#block346" + }, + "node-name": "#block118" + }, + { + "device": "drive-ide0-0-1", + "parent": { + "stats": { + "flush_total_time_ns": 0, + "wr_highest_offset": 0, + "wr_total_time_ns": 0, + "failed_wr_operations": 0, + "failed_rd_operations": 0, + "wr_merged": 0, + "wr_bytes": 0, + "timed_stats": [ + + ], + "failed_flush_operations": 0, + "account_invalid": false, + "rd_total_time_ns": 0, + "flush_operations": 0, + "wr_operations": 0, + "rd_merged": 0, + "rd_bytes": 0, + "invalid_flush_operations": 0, + "account_failed": false, + "rd_operations": 0, + "invalid_wr_operations": 0, + "invalid_rd_operations": 0 + }, + "node-name": "#block1107" + }, + "stats": { + "flush_total_time_ns": 0, + "wr_highest_offset": 0, + "wr_total_time_ns": 0, + "failed_wr_operations": 0, + "failed_rd_operations": 0, + "wr_merged": 0, + "wr_bytes": 0, + "timed_stats": [ + + ], + "failed_flush_operations": 0, + "account_invalid": true, + "rd_total_time_ns": 0, + "flush_operations": 0, + "wr_operations": 0, + "rd_merged": 0, + "rd_bytes": 0, + "invalid_flush_operations": 0, + "account_failed": true, + "rd_operations": 0, + "invalid_wr_operations": 0, + "invalid_rd_operations": 0 + }, + "backing": { + "parent": { + "stats": { + "flush_total_time_ns": 0, + "wr_highest_offset": 0, + "wr_total_time_ns": 0, + "failed_wr_operations": 0, + "failed_rd_operations": 0, + "wr_merged": 0, + "wr_bytes": 0, + "timed_stats": [ + + ], + "failed_flush_operations": 0, + "account_invalid": false, + "rd_total_time_ns": 0, + "flush_operations": 0, + "wr_operations": 0, + "rd_merged": 0, + "rd_bytes": 0, + "invalid_flush_operations": 0, + "account_failed": false, + "rd_operations": 0, + "invalid_wr_operations": 0, + "invalid_rd_operations": 0 + }, + "node-name": "#block800" + }, + "stats": { + "flush_total_time_ns": 0, + "wr_highest_offset": 0, + "wr_total_time_ns": 0, + "failed_wr_operations": 0, + "failed_rd_operations": 0, + "wr_merged": 0, + "wr_bytes": 0, + "timed_stats": [ + + ], + "failed_flush_operations": 0, + "account_invalid": false, + "rd_total_time_ns": 0, + "flush_operations": 0, + "wr_operations": 0, + "rd_merged": 0, + "rd_bytes": 0, + "invalid_flush_operations": 0, + "account_failed": false, + "rd_operations": 0, + "invalid_wr_operations": 0, + "invalid_rd_operations": 0 + }, + "node-name": "#block927" + }, + "node-name": "#block1290" + } +] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-named-nodes.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-named-nodes.json index 1fee149ac..2fcc3b47e 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-named-nodes.json +++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-named-nodes.json @@ -41,7 +41,7 @@ }, "iops_wr": 0, "ro": false, - "node-name": "#block1177", + "node-name": "#block1290", "backing_file_depth": 1, "drv": "qcow2", "iops": 0, @@ -71,7 +71,7 @@ }, "iops_wr": 0, "ro": false, - "node-name": "#block1027", + "node-name": "#block1107", "backing_file_depth": 0, "drv": "file", "iops": 0, @@ -110,7 +110,7 @@ }, "iops_wr": 0, "ro": true, - "node-name": "#block957", + "node-name": "#block927", "backing_file_depth": 0, "drv": "qcow2", "iops": 0, @@ -139,7 +139,7 @@ }, "iops_wr": 0, "ro": true, - "node-name": "#block840", + "node-name": "#block800", "backing_file_depth": 0, "drv": "file", "iops": 0, @@ -178,7 +178,7 @@ }, "iops_wr": 0, "ro": true, - "node-name": "#block709", + "node-name": "#block797", "backing_file_depth": 0, "drv": "qcow2", "iops": 0, @@ -207,7 +207,7 @@ }, "iops_wr": 0, "ro": true, - "node-name": "#block665", + "node-name": "#block614", "backing_file_depth": 0, "drv": "file", "iops": 0, @@ -266,7 +266,7 @@ }, "iops_wr": 0, "ro": true, - "node-name": "#block514", + "node-name": "#block548", "backing_file_depth": 1, "drv": "qcow2", "iops": 0, @@ -296,7 +296,7 @@ }, "iops_wr": 0, "ro": true, - "node-name": "#block481", + "node-name": "#block442", "backing_file_depth": 0, "drv": "file", "iops": 0, @@ -375,7 +375,7 @@ }, "iops_wr": 0, "ro": true, - "node-name": "#block357", + "node-name": "#block346", "backing_file_depth": 2, "drv": "qcow2", "iops": 0, @@ -405,7 +405,7 @@ }, "iops_wr": 0, "ro": true, - "node-name": "#block290", + "node-name": "#block232", "backing_file_depth": 0, "drv": "file", "iops": 0, @@ -504,7 +504,7 @@ }, "iops_wr": 0, "ro": false, - "node-name": "#block153", + "node-name": "#block118", "backing_file_depth": 3, "drv": "qcow2", "iops": 0, @@ -534,7 +534,7 @@ }, "iops_wr": 0, "ro": false, - "node-name": "#block076", + "node-name": "#block092", "backing_file_depth": 0, "drv": "file", "iops": 0, @@ -551,4 +551,4 @@ "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 index 27d9652c6..6c0c77618 100644 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result +++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result @@ -1,19 +1,33 @@ +drive-ide0-0-1 +filename : '/var/lib/libvirt/images/relsnap.qcow2' +format node : '#block1290' +format drv : 'qcow2' +storage node: '#block1107' +storage drv : 'file' + filename : '/var/lib/libvirt/images/base.qcow2' + format node : '#block927' + format drv : 'qcow2' + storage node: '#block800' + storage drv : 'file' + +drive-ide0-0-0 filename : '/var/lib/libvirt/images/img3' -format node : '#block153' -storage node: '#block076' +format node : '#block118' +format drv : 'qcow2' +storage node: '#block092' +storage drv : 'file' filename : '/var/lib/libvirt/images/img2' - format node : '#block357' - storage node: '#block290' + format node : '#block346' + format drv : 'qcow2' + storage node: '#block232' + storage drv : 'file' filename : '/var/lib/libvirt/images/img1' - format node : '#block514' - storage node: '#block481' + format node : '#block548' + format drv : 'qcow2' + storage node: '#block442' + storage drv : 'file' filename : '/var/lib/libvirt/images/img0' - format node : '#block709' - storage node: '#block665' - -filename : '/var/lib/libvirt/images/relsnap.qcow2' -format node : '#block1177' -storage node: '#block1027' - filename : '/var/lib/libvirt/images/base.qcow2' - format node : '#block957' - storage node: '#block840' + format node : '#block797' + format drv : 'qcow2' + storage node: '#block614' + storage drv : 'file' diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index e85cf7b24..2b10a75cd 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -2928,7 +2928,7 @@ mymain(void) DO_TEST_BLOCK_NODE_DETECT("basic"); DO_TEST_BLOCK_NODE_DETECT("same-backing"); -/* DO_TEST_BLOCK_NODE_DETECT("relative"); */ + DO_TEST_BLOCK_NODE_DETECT("relative"); /* DO_TEST_BLOCK_NODE_DETECT("gluster"); */ #undef DO_TEST_BLOCK_NODE_DETECT -- 2.13.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list