mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-26 23:55:23 +00:00
b717be71dc
qemu 2.9 returns an extra layer in the backing data if a block job is active. Add a test case to see whether our code properly detects and ignores such layer. The test data was prepared by creating a backing chain of qcow2 images (with qemu-img and with libvirt's snapshot feature). One of the layers was then merged back by doing a block-commit: virsh blockcommit VM hda --top /var/lib/libvirt/images/b and then a block-copy job was started and kept in synchronized phase: virsh blockcopy VM hda /tmp/tgt.img --transient job Reviewed-by: Eric Blake <eblake@redhat.com>
302 lines
9.5 KiB
JSON
302 lines
9.5 KiB
JSON
[
|
|
{
|
|
"device": "drive-ide0-0-0",
|
|
"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": 99763,
|
|
"flush_operations": 0,
|
|
"wr_operations": 0,
|
|
"rd_merged": 0,
|
|
"rd_bytes": 512,
|
|
"invalid_flush_operations": 0,
|
|
"account_failed": true,
|
|
"idle_time_ns": 1142142388760097,
|
|
"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": "#block042"
|
|
},
|
|
"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": "#block259"
|
|
},
|
|
"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": "#block449"
|
|
},
|
|
"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": "#block618"
|
|
},
|
|
"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": "#block846"
|
|
},
|
|
"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": "#block901"
|
|
},
|
|
"node-name": "#block717"
|
|
},
|
|
"node-name": "#block551"
|
|
},
|
|
"node-name": "#block312"
|
|
},
|
|
"node-name": "#block179"
|
|
},
|
|
"node-name": "#block3343"
|
|
}
|
|
]
|