QDict is implemented as a simple hash table of fixed size. Observe: * Slow for large n. Not sure this matters.
* A QDict with n entries takes 4120 + n * 32 bytes on my box. Wastes space for small n, which is a common case. * Order of traversal depends on the hash function and on insertion order, because it iterates first over buckets, then collision chains. * Special code ensures qdict_size() takes constant time. Replace the hash table by a linked list. Observe: * Even slower for large n. Might be bad enough to matter. * A QDict with n entries takes 32 + n * 24 bytes. * Traversal is in insertion order. * qdict_size() is linear in the number of entries. This is an experiment. Do not commit to master as is. The change of traversal order affects expected test output. I updated only the tests covered by "make check" so far. I expect some more to hide under tests/qemu-iotests/. Signed-off-by: Markus Armbruster <arm...@redhat.com> --- include/qapi/qmp/qdict.h | 15 +- qobject/qdict.c | 104 +-- tests/unit/check-qdict.c | 2 +- tests/unit/check-qobject.c | 2 +- tests/qemu-iotests/043.out | 22 +- tests/qemu-iotests/060.out | 16 +- tests/qemu-iotests/061.out | 52 +- tests/qemu-iotests/071.out | 4 +- tests/qemu-iotests/099.out | 4 +- tests/qemu-iotests/108.out | 14 +- tests/qemu-iotests/117.out | 2 +- tests/qemu-iotests/120.out | 2 +- tests/qemu-iotests/127.out | 20 +- tests/qemu-iotests/140.out | 4 +- tests/qemu-iotests/141.out | 76 +-- tests/qemu-iotests/143.out | 2 +- tests/qemu-iotests/156.out | 20 +- tests/qemu-iotests/161.out | 28 +- tests/qemu-iotests/176.out | 16 +- tests/qemu-iotests/184.out | 170 ++--- tests/qemu-iotests/186.out | 82 +-- tests/qemu-iotests/190.out | 4 +- tests/qemu-iotests/191.out | 868 +++++++++++++------------- tests/qemu-iotests/195.out | 4 +- tests/qemu-iotests/229.out | 14 +- tests/qemu-iotests/244.out | 12 +- tests/qemu-iotests/249.out | 18 +- tests/qemu-iotests/tests/qsd-jobs.out | 8 +- 28 files changed, 776 insertions(+), 809 deletions(-) diff --git a/include/qapi/qmp/qdict.h b/include/qapi/qmp/qdict.h index 82e90fc072..cf5c602286 100644 --- a/include/qapi/qmp/qdict.h +++ b/include/qapi/qmp/qdict.h @@ -16,8 +16,7 @@ #include "qapi/qmp/qobject.h" #include "qemu/queue.h" -#define QDICT_BUCKET_MAX 512 - +#if 0 typedef struct QDictEntry { char *key; QObject *value; @@ -29,6 +28,18 @@ struct QDict { size_t size; QLIST_HEAD(,QDictEntry) table[QDICT_BUCKET_MAX]; }; +#else +typedef struct QDictEntry { + char *key; + QObject *value; + QSIMPLEQ_ENTRY(QDictEntry) next; +} QDictEntry; + +struct QDict { + struct QObjectBase_ base; + QSIMPLEQ_HEAD(, QDictEntry) entries; +}; +#endif void qdict_unref(QDict *q); diff --git a/qobject/qdict.c b/qobject/qdict.c index 8faff230d3..444608cbc4 100644 --- a/qobject/qdict.c +++ b/qobject/qdict.c @@ -29,27 +29,11 @@ QDict *qdict_new(void) qdict = g_malloc0(sizeof(*qdict)); qobject_init(QOBJECT(qdict), QTYPE_QDICT); + QSIMPLEQ_INIT(&qdict->entries); return qdict; } -/** - * tdb_hash(): based on the hash algorithm from gdbm, via tdb - * (from module-init-tools) - */ -static unsigned int tdb_hash(const char *name) -{ - unsigned value; /* Used to compute the hash value. */ - unsigned i; /* Used to cycle through random values. */ - - /* Set the initial value from the key size. */ - for (value = 0x238F13AF * strlen(name), i = 0; name[i]; i++) { - value = (value + (((const unsigned char *)name)[i] << (i * 5 % 24))); - } - - return (1103515243 * value + 12345); -} - /** * alloc_entry(): allocate a new QDictEntry */ @@ -88,15 +72,14 @@ const char *qdict_entry_key(const QDictEntry *entry) /** * qdict_find(): List lookup function */ -static QDictEntry *qdict_find(const QDict *qdict, - const char *key, unsigned int bucket) +static QDictEntry *qdict_find(const QDict *qdict, const char *key) { QDictEntry *entry; - QLIST_FOREACH(entry, &qdict->table[bucket], next) - if (!strcmp(entry->key, key)) { + QSIMPLEQ_FOREACH(entry, &qdict->entries, next) { + if (!strcmp(key, entry->key)) return entry; - } + } return NULL; } @@ -114,11 +97,8 @@ static QDictEntry *qdict_find(const QDict *qdict, */ void qdict_put_obj(QDict *qdict, const char *key, QObject *value) { - unsigned int bucket; - QDictEntry *entry; + QDictEntry *entry = qdict_find(qdict, key); - bucket = tdb_hash(key) % QDICT_BUCKET_MAX; - entry = qdict_find(qdict, key, bucket); if (entry) { /* replace key's value */ qobject_unref(entry->value); @@ -126,8 +106,7 @@ void qdict_put_obj(QDict *qdict, const char *key, QObject *value) } else { /* allocate a new entry */ entry = alloc_entry(key, value); - QLIST_INSERT_HEAD(&qdict->table[bucket], entry, next); - qdict->size++; + QSIMPLEQ_INSERT_TAIL(&qdict->entries, entry, next); } } @@ -161,8 +140,8 @@ QObject *qdict_get(const QDict *qdict, const char *key) { QDictEntry *entry; - entry = qdict_find(qdict, key, tdb_hash(key) % QDICT_BUCKET_MAX); - return (entry == NULL ? NULL : entry->value); + entry = qdict_find(qdict, key); + return entry ? entry->value : NULL; } /** @@ -172,8 +151,7 @@ QObject *qdict_get(const QDict *qdict, const char *key) */ int qdict_haskey(const QDict *qdict, const char *key) { - unsigned int bucket = tdb_hash(key) % QDICT_BUCKET_MAX; - return (qdict_find(qdict, key, bucket) == NULL ? 0 : 1); + return qdict_find(qdict, key) != NULL; } /** @@ -181,7 +159,14 @@ int qdict_haskey(const QDict *qdict, const char *key) */ size_t qdict_size(const QDict *qdict) { - return qdict->size; + QDictEntry *entry; + size_t sz = 0; + + QSIMPLEQ_FOREACH(entry, &qdict->entries, next) { + sz++; + } + + return sz; } /** @@ -301,25 +286,13 @@ const char *qdict_get_try_str(const QDict *qdict, const char *key) return qstr ? qstring_get_str(qstr) : NULL; } -static QDictEntry *qdict_next_entry(const QDict *qdict, int first_bucket) -{ - int i; - - for (i = first_bucket; i < QDICT_BUCKET_MAX; i++) { - if (!QLIST_EMPTY(&qdict->table[i])) { - return QLIST_FIRST(&qdict->table[i]); - } - } - - return NULL; -} - /** * qdict_first(): Return first qdict entry for iteration. */ const QDictEntry *qdict_first(const QDict *qdict) { - return qdict_next_entry(qdict, 0); + return QSIMPLEQ_FIRST(&qdict->entries); + } /** @@ -327,15 +300,7 @@ const QDictEntry *qdict_first(const QDict *qdict) */ const QDictEntry *qdict_next(const QDict *qdict, const QDictEntry *entry) { - QDictEntry *ret; - - ret = QLIST_NEXT(entry, next); - if (!ret) { - unsigned int bucket = tdb_hash(entry->key) % QDICT_BUCKET_MAX; - ret = qdict_next_entry(qdict, bucket + 1); - } - - return ret; + return QSIMPLEQ_NEXT(entry, next); } /** @@ -346,14 +311,11 @@ QDict *qdict_clone_shallow(const QDict *src) { QDict *dest; QDictEntry *entry; - int i; dest = qdict_new(); - for (i = 0; i < QDICT_BUCKET_MAX; i++) { - QLIST_FOREACH(entry, &src->table[i], next) { - qdict_put_obj(dest, entry->key, qobject_ref(entry->value)); - } + QSIMPLEQ_FOREACH(entry, &src->entries, next) { + qdict_put_obj(dest, entry->key, qobject_ref(entry->value)); } return dest; @@ -380,13 +342,11 @@ static void qentry_destroy(QDictEntry *e) */ void qdict_del(QDict *qdict, const char *key) { - QDictEntry *entry; + QDictEntry *entry = qdict_find(qdict, key); - entry = qdict_find(qdict, key, tdb_hash(key) % QDICT_BUCKET_MAX); if (entry) { - QLIST_REMOVE(entry, next); + QSIMPLEQ_REMOVE(&qdict->entries, entry, QDictEntry, next); qentry_destroy(entry); - qdict->size--; } } @@ -424,20 +384,16 @@ bool qdict_is_equal(const QObject *x, const QObject *y) */ void qdict_destroy_obj(QObject *obj) { - int i; QDict *qdict; assert(obj != NULL); qdict = qobject_to(QDict, obj); - for (i = 0; i < QDICT_BUCKET_MAX; i++) { - QDictEntry *entry = QLIST_FIRST(&qdict->table[i]); - while (entry) { - QDictEntry *tmp = QLIST_NEXT(entry, next); - QLIST_REMOVE(entry, next); - qentry_destroy(entry); - entry = tmp; - } + while (!QSIMPLEQ_EMPTY(&qdict->entries)) { + QDictEntry *entry = QSIMPLEQ_FIRST(&qdict->entries); + + QSIMPLEQ_REMOVE_HEAD(&qdict->entries, next); + qentry_destroy(entry); } g_free(qdict); diff --git a/tests/unit/check-qdict.c b/tests/unit/check-qdict.c index b5efa859b0..d7d3df5efb 100644 --- a/tests/unit/check-qdict.c +++ b/tests/unit/check-qdict.c @@ -47,7 +47,7 @@ static void qdict_put_obj_test(void) qdict_put_int(qdict, "", num); g_assert(qdict_size(qdict) == 1); - ent = QLIST_FIRST(&qdict->table[12345 % QDICT_BUCKET_MAX]); + ent = QSIMPLEQ_FIRST(&qdict->entries); qn = qobject_to(QNum, ent->value); g_assert_cmpint(qnum_get_int(qn), ==, num); diff --git a/tests/unit/check-qobject.c b/tests/unit/check-qobject.c index 022b7c74fe..0416762f80 100644 --- a/tests/unit/check-qobject.c +++ b/tests/unit/check-qobject.c @@ -192,10 +192,10 @@ static void qobject_is_equal_dict_test(void) qdict_put_int(dict_0, "baz", 3); qdict_put_null(dict_0, "null"); - qdict_put_int(dict_1, "f.o", 1); qdict_put_int(dict_1, "bar", 2); qdict_put_int(dict_1, "baz", 3); qdict_put_null(dict_1, "null"); + qdict_put_int(dict_1, "f.o", 1); qdict_put_int(dict_different_key, "F.o", 1); qdict_put_int(dict_different_key, "bar", 2); diff --git a/tests/qemu-iotests/043.out b/tests/qemu-iotests/043.out index 63ecb21816..d8fcff24e9 100644 --- a/tests/qemu-iotests/043.out +++ b/tests/qemu-iotests/043.out @@ -40,29 +40,29 @@ cluster_size: 65536 == finite chain of length 3 (json) == [ { - "virtual-size": 134217728, "filename": "TEST_DIR/t.IMGFMT", - "cluster-size": 65536, "format": "IMGFMT", - "full-backing-filename": "TEST_DIR/t.IMGFMT.2.base", + "dirty-flag": false, + "virtual-size": 134217728, + "cluster-size": 65536, "backing-filename": "TEST_DIR/t.IMGFMT.2.base", - "dirty-flag": false + "full-backing-filename": "TEST_DIR/t.IMGFMT.2.base", }, { - "virtual-size": 134217728, "filename": "TEST_DIR/t.IMGFMT.2.base", - "cluster-size": 65536, "format": "IMGFMT", - "full-backing-filename": "TEST_DIR/t.IMGFMT.1.base", + "dirty-flag": false, + "virtual-size": 134217728, + "cluster-size": 65536, "backing-filename": "TEST_DIR/t.IMGFMT.1.base", - "dirty-flag": false + "full-backing-filename": "TEST_DIR/t.IMGFMT.1.base", }, { - "virtual-size": 134217728, "filename": "TEST_DIR/t.IMGFMT.1.base", - "cluster-size": 65536, "format": "IMGFMT", - "dirty-flag": false + "dirty-flag": false, + "virtual-size": 134217728, + "cluster-size": 65536, } ] *** done diff --git a/tests/qemu-iotests/060.out b/tests/qemu-iotests/060.out index 329977d9b9..f654a6579c 100644 --- a/tests/qemu-iotests/060.out +++ b/tests/qemu-iotests/060.out @@ -17,11 +17,11 @@ virtual size: 64 MiB (67108864 bytes) cluster_size: 65536 Format specific information: compat: 1.1 - compression type: COMPRESSION_TYPE - lazy refcounts: false - refcount bits: 16 - corrupt: true extended l2: false + lazy refcounts: false + corrupt: true + refcount bits: 16 + compression type: COMPRESSION_TYPE qemu-io: can't open device TEST_DIR/t.IMGFMT: IMGFMT: Image is corrupt; cannot be opened read/write no file open, try 'help open' read 512/512 bytes at offset 0 @@ -418,11 +418,11 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 qcow2: Marking image as corrupt: Preventing invalid write on metadata (overlaps with refcount table); further corruption events will be suppressed QMP_VERSION {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_IMAGE_CORRUPTED", "data": {"device": "none0", "msg": "Preventing invalid write on metadata (overlaps with refcount table)", "offset": 65536, "node-name": "drive", "fatal": true, "size": 65536}} +{"event": "BLOCK_IMAGE_CORRUPTED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"device": "none0", "node-name": "drive", "msg": "Preventing invalid write on metadata (overlaps with refcount table)", "offset": 65536, "size": 65536, "fatal": true}} write failed: Input/output error {"return": ""} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} === Testing incoming inactive corrupted image === @@ -430,10 +430,10 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 QMP_VERSION {"return": {}} qcow2: Image is corrupt: L2 table offset 0x2a2a2a00 unaligned (L1 index: 0); further non-fatal corruption events will be suppressed -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_IMAGE_CORRUPTED", "data": {"device": "", "msg": "L2 table offset 0x2a2a2a00 unaligned (L1 index: 0)", "node-name": "drive", "fatal": false}} +{"event": "BLOCK_IMAGE_CORRUPTED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"device": "", "node-name": "drive", "msg": "L2 table offset 0x2a2a2a00 unaligned (L1 index: 0)", "fatal": false}} {"return": ""} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} corrupt: false *** done diff --git a/tests/qemu-iotests/061.out b/tests/qemu-iotests/061.out index 139fc68177..6a05d67378 100644 --- a/tests/qemu-iotests/061.out +++ b/tests/qemu-iotests/061.out @@ -497,7 +497,7 @@ wrote 65536/65536 bytes at offset 2147483648 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote 65536/65536 bytes at offset 3221225472 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - (0.00/100%) (12.50/100%) (25.00/100%) (37.50/100%) (50.00/100%) (62.50/100%) (75.00/100%) (87.50/100%) (100.00/100%) (100.00/100%) + (0.00/100%) (12.50/100%) (25.00/100%) (37.50/100%) (50.00/100%) (62.50/100%) (75.00/100%) (87.50/100%) (100.00/100%) (100.00/100%) No errors were found on the image. === Testing progress report with snapshot === @@ -512,7 +512,7 @@ wrote 65536/65536 bytes at offset 2147483648 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote 65536/65536 bytes at offset 3221225472 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) - (0.00/100%) (6.25/100%) (12.50/100%) (18.75/100%) (25.00/100%) (31.25/100%) (37.50/100%) (43.75/100%) (50.00/100%) (56.25/100%) (62.50/100%) (68.75/100%) (75.00/100%) (81.25/100%) (87.50/100%) (93.75/100%) (100.00/100%) (100.00/100%) + (0.00/100%) (6.25/100%) (12.50/100%) (18.75/100%) (25.00/100%) (31.25/100%) (37.50/100%) (43.75/100%) (50.00/100%) (56.25/100%) (62.50/100%) (68.75/100%) (75.00/100%) (81.25/100%) (87.50/100%) (93.75/100%) (100.00/100%) (100.00/100%) No errors were found on the image. === Testing version downgrade with external data file === @@ -525,13 +525,13 @@ virtual size: 64 MiB (67108864 bytes) cluster_size: 65536 Format specific information: compat: 1.1 - compression type: COMPRESSION_TYPE - lazy refcounts: false - refcount bits: 16 data file: TEST_DIR/t.IMGFMT.data data file raw: false - corrupt: false extended l2: false + lazy refcounts: false + corrupt: false + refcount bits: 16 + compression type: COMPRESSION_TYPE No errors were found on the image. === Testing version downgrade with extended L2 entries === @@ -552,13 +552,13 @@ virtual size: 64 MiB (67108864 bytes) cluster_size: 65536 Format specific information: compat: 1.1 - compression type: COMPRESSION_TYPE - lazy refcounts: false - refcount bits: 16 data file: foo data file raw: false - corrupt: false extended l2: false + lazy refcounts: false + corrupt: false + refcount bits: 16 + compression type: COMPRESSION_TYPE qemu-img: Could not open 'TEST_DIR/t.IMGFMT': 'data-file' is required for this image image: TEST_DIR/t.IMGFMT @@ -567,12 +567,12 @@ virtual size: 64 MiB (67108864 bytes) cluster_size: 65536 Format specific information: compat: 1.1 - compression type: COMPRESSION_TYPE - lazy refcounts: false - refcount bits: 16 data file raw: false - corrupt: false extended l2: false + lazy refcounts: false + corrupt: false + refcount bits: 16 + compression type: COMPRESSION_TYPE === Clearing and setting data-file-raw === @@ -583,13 +583,13 @@ virtual size: 64 MiB (67108864 bytes) cluster_size: 65536 Format specific information: compat: 1.1 - compression type: COMPRESSION_TYPE - lazy refcounts: false - refcount bits: 16 data file: TEST_DIR/t.IMGFMT.data data file raw: true - corrupt: false extended l2: false + lazy refcounts: false + corrupt: false + refcount bits: 16 + compression type: COMPRESSION_TYPE No errors were found on the image. image: TEST_DIR/t.IMGFMT file format: IMGFMT @@ -597,13 +597,13 @@ virtual size: 64 MiB (67108864 bytes) cluster_size: 65536 Format specific information: compat: 1.1 - compression type: COMPRESSION_TYPE - lazy refcounts: false - refcount bits: 16 data file: TEST_DIR/t.IMGFMT.data data file raw: false - corrupt: false extended l2: false + lazy refcounts: false + corrupt: false + refcount bits: 16 + compression type: COMPRESSION_TYPE No errors were found on the image. qemu-img: data-file-raw cannot be set on existing images image: TEST_DIR/t.IMGFMT @@ -612,12 +612,12 @@ virtual size: 64 MiB (67108864 bytes) cluster_size: 65536 Format specific information: compat: 1.1 - compression type: COMPRESSION_TYPE - lazy refcounts: false - refcount bits: 16 data file: TEST_DIR/t.IMGFMT.data data file raw: false - corrupt: false extended l2: false + lazy refcounts: false + corrupt: false + refcount bits: 16 + compression type: COMPRESSION_TYPE No errors were found on the image. *** done diff --git a/tests/qemu-iotests/071.out b/tests/qemu-iotests/071.out index bca0c02f5c..ff00da1ad1 100644 --- a/tests/qemu-iotests/071.out +++ b/tests/qemu-iotests/071.out @@ -46,7 +46,7 @@ QMP_VERSION read failed: Input/output error {"return": ""} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} === Testing blkverify on existing block device === @@ -85,7 +85,7 @@ wrote 512/512 bytes at offset 0 read failed: Input/output error {"return": ""} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} QEMU_PROG: Failed to flush the L2 table cache: Input/output error QEMU_PROG: Failed to flush the refcount block cache: Input/output error diff --git a/tests/qemu-iotests/099.out b/tests/qemu-iotests/099.out index 8cce627529..5726466bc6 100644 --- a/tests/qemu-iotests/099.out +++ b/tests/qemu-iotests/099.out @@ -12,11 +12,11 @@ blkverify:TEST_DIR/t.IMGFMT.compare:TEST_DIR/t.IMGFMT === Testing JSON filename for blkdebug === -json:{"driver": "IMGFMT", "file": {"image": {"driver": "file", "filename": "TEST_DIR/t.IMGFMT"}, "driver": "blkdebug", "inject-error.0.event": "l1_update"}} +json:{"driver": "IMGFMT", "file": {"driver": "blkdebug", "inject-error.0.event": "l1_update", "image": {"driver": "file", "filename": "TEST_DIR/t.IMGFMT"}}} === Testing indirectly enforced JSON filename === -json:{"driver": "raw", "file": {"test": {"driver": "IMGFMT", "file": {"image": {"driver": "file", "filename": "TEST_DIR/t.IMGFMT"}, "driver": "blkdebug", "inject-error.0.event": "l1_update"}}, "driver": "blkverify", "raw": {"driver": "file", "filename": "TEST_DIR/t.IMGFMT.compare"}}} +json:{"driver": "raw", "file": {"driver": "blkverify", "test": {"driver": "IMGFMT", "file": {"driver": "blkdebug", "inject-error.0.event": "l1_update", "image": {"driver": "file", "filename": "TEST_DIR/t.IMGFMT"}}}, "raw": {"driver": "file", "filename": "TEST_DIR/t.IMGFMT.compare"}}} === Testing plain filename for blkdebug === diff --git a/tests/qemu-iotests/108.out b/tests/qemu-iotests/108.out index b5401d788d..faaabbcdf3 100644 --- a/tests/qemu-iotests/108.out +++ b/tests/qemu-iotests/108.out @@ -163,18 +163,18 @@ OK: Reftable is where we expect it "size": 67108864, "cluster-size": 512 } } } -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "create"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "create"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "create", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "create", "status": "running"}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "create"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "create"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "create"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "create", "status": "waiting"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "create", "status": "pending"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "create", "status": "concluded"}} { "execute": "job-dismiss", "arguments": { "id": "create" } } -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "create"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "create", "status": "null"}} {"return": {}} { "execute": "quit" } {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} wrote 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) diff --git a/tests/qemu-iotests/117.out b/tests/qemu-iotests/117.out index 735ffd25c6..015c971197 100644 --- a/tests/qemu-iotests/117.out +++ b/tests/qemu-iotests/117.out @@ -19,7 +19,7 @@ wrote 65536/65536 bytes at offset 0 {"return": ""} { 'execute': 'quit' } {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} No errors were found on the image. read 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) diff --git a/tests/qemu-iotests/120.out b/tests/qemu-iotests/120.out index 0744c1f136..d677c72599 100644 --- a/tests/qemu-iotests/120.out +++ b/tests/qemu-iotests/120.out @@ -6,7 +6,7 @@ wrote 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) {"return": ""} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} read 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) read 65536/65536 bytes at offset 0 diff --git a/tests/qemu-iotests/127.out b/tests/qemu-iotests/127.out index 1685c4850a..863832d162 100644 --- a/tests/qemu-iotests/127.out +++ b/tests/qemu-iotests/127.out @@ -14,20 +14,20 @@ wrote 42/42 bytes at offset 0 'mode': 'existing', 'sync': 'top' } } -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "mirror"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "mirror"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "mirror", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "mirror", "status": "running"}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "ready", "id": "mirror"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "mirror", "len": 65536, "offset": 65536, "speed": 0, "type": "mirror"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "mirror", "status": "ready"}} +{"event": "BLOCK_JOB_READY", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "mirror", "device": "mirror", "len": 65536, "offset": 65536, "speed": 0}} { 'execute': 'block-job-complete', 'arguments': { 'device': 'mirror' } } {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "mirror"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "mirror"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "mirror", "len": 65536, "offset": 65536, "speed": 0, "type": "mirror"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "mirror", "status": "waiting"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "mirror", "status": "pending"}} +{"event": "BLOCK_JOB_COMPLETED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "mirror", "device": "mirror", "len": 65536, "offset": 65536, "speed": 0}} { 'execute': 'quit' } -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "mirror"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "mirror"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "mirror", "status": "concluded"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "mirror", "status": "null"}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} *** done diff --git a/tests/qemu-iotests/140.out b/tests/qemu-iotests/140.out index 312f76d5da..586b64b24e 100644 --- a/tests/qemu-iotests/140.out +++ b/tests/qemu-iotests/140.out @@ -15,10 +15,10 @@ read 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) { 'execute': 'eject', 'arguments': { 'device': 'drv' }} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_EXPORT_DELETED", "data": {"id": "drv"}} +{"event": "BLOCK_EXPORT_DELETED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "drv"}} qemu-io: can't open device nbd+unix:///drv?socket=SOCK_DIR/nbd: Requested export not available server reported: export 'drv' not present { 'execute': 'quit' } {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} *** done diff --git a/tests/qemu-iotests/141.out b/tests/qemu-iotests/141.out index 63203d9944..4d8c7b598c 100644 --- a/tests/qemu-iotests/141.out +++ b/tests/qemu-iotests/141.out @@ -23,20 +23,20 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/m. 'format': 'IMGFMT', 'sync': 'none'}} Formatting 'TEST_DIR/o.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT backing_fmt=IMGFMT -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "paused", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "running"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "paused"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "running"}} {'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} {"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: node is used as backing hd of 'NODE_NAME'"}} {'execute': 'block-job-cancel', 'arguments': {'device': 'job0'}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "aborting", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_CANCELLED", "data": {"device": "job0", "len": 1048576, "offset": 0, "speed": 0, "type": "backup"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "aborting"}} +{"event": "BLOCK_JOB_CANCELLED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "backup", "device": "job0", "len": 1048576, "offset": 0, "speed": 0}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "concluded"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "null"}} {'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} {"return": {}} @@ -59,21 +59,21 @@ Formatting 'TEST_DIR/o.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t. 'format': 'IMGFMT', 'sync': 'none'}} Formatting 'TEST_DIR/o.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT backing_fmt=IMGFMT -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "ready", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "job0", "len": 0, "offset": 0, "speed": 0, "type": "mirror"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "running"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "ready"}} +{"event": "BLOCK_JOB_READY", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "mirror", "device": "job0", "len": 0, "offset": 0, "speed": 0}} {'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} {"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: mirror"}} {'execute': 'block-job-cancel', 'arguments': {'device': 'job0'}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "job0", "len": 0, "offset": 0, "speed": 0, "type": "mirror"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "waiting"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "pending"}} +{"event": "BLOCK_JOB_COMPLETED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "mirror", "device": "job0", "len": 0, "offset": 0, "speed": 0}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "concluded"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "null"}} {'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} {"return": {}} @@ -91,21 +91,21 @@ Formatting 'TEST_DIR/o.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t. {"return": {}} {'execute': 'block-commit', 'arguments': {'job-id': 'job0', 'device': 'drv0'}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "ready", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "job0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "running"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "ready"}} +{"event": "BLOCK_JOB_READY", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "commit", "device": "job0", "len": 0, "offset": 0, "speed": 0}} {'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} {"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: commit"}} {'execute': 'block-job-cancel', 'arguments': {'device': 'job0'}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "job0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "waiting"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "pending"}} +{"event": "BLOCK_JOB_COMPLETED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "commit", "device": "job0", "len": 0, "offset": 0, "speed": 0}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "concluded"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "null"}} {'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} {"return": {}} @@ -128,18 +128,18 @@ wrote 1048576/1048576 bytes at offset 0 'device': 'drv0', 'top': 'TEST_DIR/m.IMGFMT', 'speed': 1}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "running"}} {'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} {"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: commit"}} {'execute': 'block-job-cancel', 'arguments': {'device': 'job0'}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "aborting", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_CANCELLED", "data": {"device": "job0", "len": 1048576, "offset": 524288, "speed": 1, "type": "commit"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "aborting"}} +{"event": "BLOCK_JOB_CANCELLED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "commit", "device": "job0", "len": 1048576, "offset": 524288, "speed": 1}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "concluded"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "null"}} {'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} {"return": {}} @@ -161,18 +161,18 @@ wrote 1048576/1048576 bytes at offset 0 'arguments': {'job-id': 'job0', 'device': 'drv0', 'speed': 1}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "running"}} {'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} {"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: stream"}} {'execute': 'block-job-cancel', 'arguments': {'device': 'job0'}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "aborting", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_CANCELLED", "data": {"device": "job0", "len": 1048576, "offset": 524288, "speed": 1, "type": "stream"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "aborting"}} +{"event": "BLOCK_JOB_CANCELLED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "stream", "device": "job0", "len": 1048576, "offset": 524288, "speed": 1}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "concluded"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "null"}} {'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} {"return": {}} diff --git a/tests/qemu-iotests/143.out b/tests/qemu-iotests/143.out index 9ec5888e0e..ec58b08e43 100644 --- a/tests/qemu-iotests/143.out +++ b/tests/qemu-iotests/143.out @@ -11,5 +11,5 @@ qemu-io: can't open device nbd+unix:///aa--aa1?socket=SOCK_DIR/nbd: Requested ex server reported: export 'aa--aa...' not present { 'execute': 'quit' } {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} *** done diff --git a/tests/qemu-iotests/156.out b/tests/qemu-iotests/156.out index 4a22f0c41a..bb01818fc7 100644 --- a/tests/qemu-iotests/156.out +++ b/tests/qemu-iotests/156.out @@ -26,11 +26,11 @@ Formatting 'TEST_DIR/t.IMGFMT.target.overlay', fmt=IMGFMT size=1048576 backing_f 'target': 'TEST_DIR/t.IMGFMT.target.overlay', 'mode': 'existing', 'sync': 'top' } } -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "source"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "source"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "source", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "source", "status": "running"}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "ready", "id": "source"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "source", "len": 131072, "offset": 131072, "speed": 0, "type": "mirror"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "source", "status": "ready"}} +{"event": "BLOCK_JOB_READY", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "mirror", "device": "source", "len": 131072, "offset": 131072, "speed": 0}} { 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu-io source "write -P 4 192k 64k"' } } @@ -40,11 +40,11 @@ wrote 65536/65536 bytes at offset 196608 { 'execute': 'block-job-complete', 'arguments': { 'device': 'source' } } {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "source"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "source"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "source", "len": 196608, "offset": 196608, "speed": 0, "type": "mirror"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "source"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "source"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "source", "status": "waiting"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "source", "status": "pending"}} +{"event": "BLOCK_JOB_COMPLETED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "mirror", "device": "source", "len": 196608, "offset": 196608, "speed": 0}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "source", "status": "concluded"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "source", "status": "null"}} { 'execute': 'human-monitor-command', 'arguments': { 'command-line': @@ -73,7 +73,7 @@ read 65536/65536 bytes at offset 196608 { 'execute': 'quit' } {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} read 65536/65536 bytes at offset 0 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) diff --git a/tests/qemu-iotests/161.out b/tests/qemu-iotests/161.out index 6cc285afcf..c62657639a 100644 --- a/tests/qemu-iotests/161.out +++ b/tests/qemu-iotests/161.out @@ -18,17 +18,17 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t. {"return": {}} { 'execute': 'block-stream', 'arguments': { 'device': 'none0', 'base': 'TEST_DIR/t.IMGFMT.base' } } -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "none0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "none0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "none0", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "none0", "status": "running"}} {"return": {}} { 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu-io none0 "reopen -o backing.detect-zeroes=on"' } } -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "none0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "none0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "none0", "len": 1048576, "offset": 1048576, "speed": 0, "type": "stream"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "none0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "none0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "none0", "status": "waiting"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "none0", "status": "pending"}} +{"event": "BLOCK_JOB_COMPLETED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "stream", "device": "none0", "len": 1048576, "offset": 1048576, "speed": 0}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "none0", "status": "concluded"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "none0", "status": "null"}} {"return": ""} *** Commit and then change an option on the backing file @@ -40,16 +40,16 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t. {"return": {}} { 'execute': 'block-commit', 'arguments': { 'device': 'none0', 'top': 'TEST_DIR/t.IMGFMT.int' } } -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "none0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "none0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "none0", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "none0", "status": "running"}} {"return": {}} { 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu-io none0 "reopen -o backing.detect-zeroes=on"' } } -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "none0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "none0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "none0", "len": 1048576, "offset": 1048576, "speed": 0, "type": "commit"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "none0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "none0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "none0", "status": "waiting"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "none0", "status": "pending"}} +{"event": "BLOCK_JOB_COMPLETED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "commit", "device": "none0", "len": 1048576, "offset": 1048576, "speed": 0}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "none0", "status": "concluded"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "none0", "status": "null"}} {"return": ""} *** done diff --git a/tests/qemu-iotests/176.out b/tests/qemu-iotests/176.out index 9d09b60452..b46b743850 100644 --- a/tests/qemu-iotests/176.out +++ b/tests/qemu-iotests/176.out @@ -170,7 +170,7 @@ QMP_VERSION {"return": {}} {"return": {}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} wrote 196608/196608 bytes at offset 2147287040 192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote 131072/131072 bytes at offset 2147352576 @@ -207,7 +207,7 @@ QMP_VERSION {"return": {}} {"return": {"sha256": HASH}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} === Test pass bitmap.1 === @@ -219,7 +219,7 @@ QMP_VERSION {"return": {}} {"return": {}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} wrote 196608/196608 bytes at offset 2147287040 192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote 131072/131072 bytes at offset 2147352576 @@ -257,7 +257,7 @@ QMP_VERSION {"return": {}} {"return": {"sha256": HASH}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} === Test pass bitmap.2 === @@ -269,7 +269,7 @@ QMP_VERSION {"return": {}} {"return": {}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} wrote 196608/196608 bytes at offset 2147287040 192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote 131072/131072 bytes at offset 2147352576 @@ -307,7 +307,7 @@ QMP_VERSION {"return": {}} {"return": {"sha256": HASH}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} === Test pass bitmap.3 === @@ -319,7 +319,7 @@ QMP_VERSION {"return": {}} {"return": {}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} wrote 196608/196608 bytes at offset 2147287040 192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote 131072/131072 bytes at offset 2147352576 @@ -354,5 +354,5 @@ QMP_VERSION {"return": {}} {"return": {"sha256": HASH}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} +{"event": "SHUTDOWN", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"guest": false, "reason": "host-qmp-quit"}} *** done diff --git a/tests/qemu-iotests/184.out b/tests/qemu-iotests/184.out index 77e5489d65..93e33ba20a 100644 --- a/tests/qemu-iotests/184.out +++ b/tests/qemu-iotests/184.out @@ -24,64 +24,64 @@ Testing: { "return": [ { - "iops_rd": 0, + "file": "json:{\"driver\": \"throttle\", \"throttle-group\": \"group0\", \"file\": {\"driver\": \"null-co\"}}", + "node-name": "throttle0", + "ro": false, + "drv": "throttle", + "backing_file_depth": 1, + "encrypted": false, "detect_zeroes": "off", + "bps": 0, + "bps_rd": 0, + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, "image": { + "filename": "json:{\"driver\": \"throttle\", \"throttle-group\": \"group0\", \"file\": {\"driver\": \"null-co\"}}", + "format": "throttle", + "actual-size": 0, + "virtual-size": 1073741824, "backing-image": { - "virtual-size": 1073741824, "filename": "null-co://", "format": "null-co", - "actual-size": 0 - }, - "virtual-size": 1073741824, - "filename": "json:{\"throttle-group\": \"group0\", \"driver\": \"throttle\", \"file\": {\"driver\": \"null-co\"}}", - "format": "throttle", - "actual-size": 0 + "actual-size": 0, + "virtual-size": 1073741824 + } }, - "iops_wr": 0, - "ro": false, - "node-name": "throttle0", - "backing_file_depth": 1, - "drv": "throttle", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, "cache": { - "no-flush": false, + "writeback": true, "direct": false, - "writeback": true + "no-flush": false }, - "file": "json:{\"throttle-group\": \"group0\", \"driver\": \"throttle\", \"file\": {\"driver\": \"null-co\"}}" + "write_threshold": 0 }, { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 1073741824, - "filename": "null-co://", - "format": "null-co", - "actual-size": 0 - }, - "iops_wr": 0, - "ro": false, + "file": "null-co://", "node-name": "disk0", - "backing_file_depth": 0, + "ro": false, "drv": "null-co", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, + "backing_file_depth": 0, "encrypted": false, + "detect_zeroes": "off", "bps": 0, "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, + "image": { + "filename": "null-co://", + "format": "null-co", + "actual-size": 0, + "virtual-size": 1073741824 }, - "file": "null-co://" + "cache": { + "writeback": true, + "direct": false, + "no-flush": false + }, + "write_threshold": 0 } ] } @@ -94,11 +94,11 @@ Testing: } } { + "event": "SHUTDOWN", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "SHUTDOWN", "data": { "guest": false, "reason": "host-qmp-quit" @@ -121,52 +121,25 @@ Testing: } { "return": { - "bps-read-max-length": 1, - "iops-read-max-length": 1, - "bps-read-max": 0, - "bps-total": 0, - "iops-total-max-length": 1, "iops-total": 1000, - "iops-write-max": 0, - "bps-write": 0, - "bps-total-max": 0, - "bps-write-max": 0, - "iops-size": 0, - "iops-read": 0, - "iops-write-max-length": 1, - "iops-write": 0, - "bps-total-max-length": 1, - "iops-read-max": 0, - "bps-read": 0, - "bps-write-max-length": 1, - "iops-total-max": 0 - } -} -{ - "return": { - } -} -{ - "return": { - "bps-read-max-length": 1, - "iops-read-max-length": 1, - "bps-read-max": 0, - "bps-total": 0, + "iops-total-max": 0, "iops-total-max-length": 1, - "iops-total": 0, - "iops-write-max": 0, - "bps-write": 0, - "bps-total-max": 0, - "bps-write-max": 0, - "iops-size": 0, "iops-read": 0, - "iops-write-max-length": 1, - "iops-write": 0, - "bps-total-max-length": 1, "iops-read-max": 0, + "iops-read-max-length": 1, + "iops-write": 0, + "iops-write-max": 0, + "iops-write-max-length": 1, + "bps-total": 0, + "bps-total-max": 0, + "bps-total-max-length": 1, "bps-read": 0, + "bps-read-max": 0, + "bps-read-max-length": 1, + "bps-write": 0, + "bps-write-max": 0, "bps-write-max-length": 1, - "iops-total-max": 0 + "iops-size": 0 } } { @@ -174,11 +147,38 @@ Testing: } } { + "return": { + "iops-total": 0, + "iops-total-max": 0, + "iops-total-max-length": 1, + "iops-read": 0, + "iops-read-max": 0, + "iops-read-max-length": 1, + "iops-write": 0, + "iops-write-max": 0, + "iops-write-max-length": 1, + "bps-total": 0, + "bps-total-max": 0, + "bps-total-max-length": 1, + "bps-read": 0, + "bps-read-max": 0, + "bps-read-max-length": 1, + "bps-write": 0, + "bps-write-max": 0, + "bps-write-max-length": 1, + "iops-size": 0 + } +} +{ + "return": { + } +} +{ + "event": "SHUTDOWN", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "SHUTDOWN", "data": { "guest": false, "reason": "host-qmp-quit" @@ -216,11 +216,11 @@ Testing: } } { + "event": "SHUTDOWN", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "SHUTDOWN", "data": { "guest": false, "reason": "host-qmp-quit" @@ -252,11 +252,11 @@ Testing: } } { + "event": "SHUTDOWN", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "SHUTDOWN", "data": { "guest": false, "reason": "host-qmp-quit" diff --git a/tests/qemu-iotests/186.out b/tests/qemu-iotests/186.out index 01530040e5..12ea630222 100644 --- a/tests/qemu-iotests/186.out +++ b/tests/qemu-iotests/186.out @@ -57,7 +57,7 @@ qdev_id: [not inserted] Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device ide-hd,drive=null QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": true} (null-co) Attached to: /machine/peripheral-anon/device[N] Cache mode: writeback (qemu) quit @@ -65,7 +65,7 @@ null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device ide-hd,drive=null,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": true} (null-co) Attached to: qdev_id Cache mode: writeback (qemu) quit @@ -73,7 +73,7 @@ null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device scsi-hd,drive=null QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": true} (null-co) Attached to: /machine/peripheral-anon/device[N] Cache mode: writeback (qemu) quit @@ -81,7 +81,7 @@ null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device scsi-hd,drive=null,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": true} (null-co) Attached to: qdev_id Cache mode: writeback (qemu) quit @@ -89,7 +89,7 @@ null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device virtio-blk-pci,drive=null QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": true} (null-co) Attached to: /machine/peripheral-anon/device[N]/virtio-backend Cache mode: writeback (qemu) quit @@ -97,7 +97,7 @@ null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device virtio-blk-pci,drive=null,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": true} (null-co) Attached to: /machine/peripheral/qdev_id/virtio-backend Cache mode: writeback (qemu) quit @@ -105,7 +105,7 @@ null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device floppy,drive=null QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": true} (null-co) Attached to: /machine/peripheral-anon/device[N] Removable device: not locked, tray closed Cache mode: writeback @@ -114,7 +114,7 @@ null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device floppy,drive=null,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": true} (null-co) Attached to: qdev_id Removable device: not locked, tray closed Cache mode: writeback @@ -123,7 +123,7 @@ null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device ide-cd,drive=null QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": true} (null-co) Attached to: /machine/peripheral-anon/device[N] Removable device: not locked, tray closed Cache mode: writeback @@ -132,7 +132,7 @@ null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device ide-cd,drive=null,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": true} (null-co) Attached to: qdev_id Removable device: not locked, tray closed Cache mode: writeback @@ -141,7 +141,7 @@ null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device scsi-cd,drive=null QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": true} (null-co) Attached to: /machine/peripheral-anon/device[N] Removable device: not locked, tray closed Cache mode: writeback @@ -150,7 +150,7 @@ null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) Testing: -blockdev driver=null-co,read-zeroes=on,node-name=null -device scsi-cd,drive=null,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": true} (null-co) Attached to: qdev_id Removable device: not locked, tray closed Cache mode: writeback @@ -162,11 +162,11 @@ null: json:{"read-zeroes": true, "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device ide-hd,drive=null,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Removable device: not locked, tray closed Cache mode: writeback -null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: qdev_id Cache mode: writeback (qemu) quit @@ -174,11 +174,11 @@ null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device scsi-hd,drive=null,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Removable device: not locked, tray closed Cache mode: writeback -null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: qdev_id Cache mode: writeback (qemu) quit @@ -186,11 +186,11 @@ null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device virtio-blk-pci,drive=null,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Removable device: not locked, tray closed Cache mode: writeback -null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: /machine/peripheral/qdev_id/virtio-backend Cache mode: writeback (qemu) quit @@ -198,11 +198,11 @@ null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device floppy,drive=null,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Removable device: not locked, tray closed Cache mode: writeback -null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: qdev_id Removable device: not locked, tray closed Cache mode: writeback @@ -211,11 +211,11 @@ null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device ide-cd,drive=null,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Removable device: not locked, tray closed Cache mode: writeback -null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: qdev_id Removable device: not locked, tray closed Cache mode: writeback @@ -224,11 +224,11 @@ null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device scsi-cd,drive=null,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Removable device: not locked, tray closed Cache mode: writeback -null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +null: json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: qdev_id Removable device: not locked, tray closed Cache mode: writeback @@ -240,7 +240,7 @@ null: json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device ide-hd,drive=none0 QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: /machine/peripheral-anon/device[N] Cache mode: writeback (qemu) quit @@ -248,7 +248,7 @@ none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device ide-hd,drive=none0,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: qdev_id Cache mode: writeback (qemu) quit @@ -256,7 +256,7 @@ none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device scsi-hd,drive=none0 QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: /machine/peripheral-anon/device[N] Cache mode: writeback (qemu) quit @@ -264,7 +264,7 @@ none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device scsi-hd,drive=none0,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: qdev_id Cache mode: writeback (qemu) quit @@ -272,7 +272,7 @@ none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device virtio-blk-pci,drive=none0 QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: /machine/peripheral-anon/device[N]/virtio-backend Cache mode: writeback (qemu) quit @@ -280,7 +280,7 @@ none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device virtio-blk-pci,drive=none0,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: /machine/peripheral/qdev_id/virtio-backend Cache mode: writeback (qemu) quit @@ -288,7 +288,7 @@ none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device floppy,drive=none0 QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: /machine/peripheral-anon/device[N] Removable device: not locked, tray closed Cache mode: writeback @@ -297,7 +297,7 @@ none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device floppy,drive=none0,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: qdev_id Removable device: not locked, tray closed Cache mode: writeback @@ -306,7 +306,7 @@ none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device ide-cd,drive=none0 QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: /machine/peripheral-anon/device[N] Removable device: not locked, tray closed Cache mode: writeback @@ -315,7 +315,7 @@ none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device ide-cd,drive=none0,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: qdev_id Removable device: not locked, tray closed Cache mode: writeback @@ -324,7 +324,7 @@ none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device scsi-cd,drive=none0 QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: /machine/peripheral-anon/device[N] Removable device: not locked, tray closed Cache mode: writeback @@ -333,7 +333,7 @@ none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=none,driver=null-co,read-zeroes=on,node-name=null -device scsi-cd,drive=none0,id=qdev_id QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -none0 (null): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +none0 (null): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: qdev_id Removable device: not locked, tray closed Cache mode: writeback @@ -411,7 +411,7 @@ floppy0: [not inserted] Testing: -drive if=floppy,driver=null-co,read-zeroes=on QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -floppy0 (NODE_NAME): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +floppy0 (NODE_NAME): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: /machine/unattached/device[N] Removable device: not locked, tray closed Cache mode: writeback @@ -420,7 +420,7 @@ floppy0 (NODE_NAME): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=ide,driver=null-co,read-zeroes=on QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -ide0-hd0 (NODE_NAME): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +ide0-hd0 (NODE_NAME): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: /machine/unattached/device[N] Cache mode: writeback (qemu) quit @@ -436,7 +436,7 @@ ide0-cd0: [not inserted] Testing: -drive if=ide,driver=null-co,read-zeroes=on,media=cdrom QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -ide0-cd0 (NODE_NAME): json:{"read-zeroes": "on", "driver": "null-co"} (null-co, read-only) +ide0-cd0 (NODE_NAME): json:{"driver": "null-co", "read-zeroes": "on"} (null-co, read-only) Attached to: /machine/unattached/device[N] Removable device: not locked, tray closed Cache mode: writeback @@ -445,7 +445,7 @@ ide0-cd0 (NODE_NAME): json:{"read-zeroes": "on", "driver": "null-co"} (null-co, Testing: -drive if=virtio,driver=null-co,read-zeroes=on QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -virtio0 (NODE_NAME): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) +virtio0 (NODE_NAME): json:{"driver": "null-co", "read-zeroes": "on"} (null-co) Attached to: /machine/peripheral-anon/device[N]/virtio-backend Cache mode: writeback (qemu) quit @@ -453,7 +453,7 @@ virtio0 (NODE_NAME): json:{"read-zeroes": "on", "driver": "null-co"} (null-co) Testing: -drive if=pflash,driver=null-co,read-zeroes=on,size=1M QEMU X.Y.Z monitor - type 'help' for more information (qemu) info block -pflash0 (NODE_NAME): json:{"read-zeroes": "on", "driver": "null-co", "size": "1M"} (null-co) +pflash0 (NODE_NAME): json:{"driver": "null-co", "size": "1M", "read-zeroes": "on"} (null-co) Attached to: /machine/system.flash0 Cache mode: writeback (qemu) quit diff --git a/tests/qemu-iotests/190.out b/tests/qemu-iotests/190.out index ed9d8214eb..2acea9982c 100644 --- a/tests/qemu-iotests/190.out +++ b/tests/qemu-iotests/190.out @@ -29,8 +29,8 @@ bitmaps size: 537198592 expected bitmap 545259520 { - "bitmaps": 545259520, "required": 18874368, - "fully-allocated": 2199042129920 + "fully-allocated": 2199042129920, + "bitmaps": 545259520 } *** done diff --git a/tests/qemu-iotests/191.out b/tests/qemu-iotests/191.out index ea88777374..a7dfb22080 100644 --- a/tests/qemu-iotests/191.out +++ b/tests/qemu-iotests/191.out @@ -22,25 +22,25 @@ wrote 65536/65536 bytes at offset 1048576 'base':'TEST_DIR/t.IMGFMT.base', 'top': 'TEST_DIR/t.IMGFMT.mid' } } { + "event": "JOB_STATUS_CHANGE", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "JOB_STATUS_CHANGE", "data": { - "status": "created", - "id": "commit0" + "id": "commit0", + "status": "created" } } { + "event": "JOB_STATUS_CHANGE", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "JOB_STATUS_CHANGE", "data": { - "status": "running", - "id": "commit0" + "id": "commit0", + "status": "running" } } { @@ -48,61 +48,61 @@ wrote 65536/65536 bytes at offset 1048576 } } { + "event": "JOB_STATUS_CHANGE", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "JOB_STATUS_CHANGE", "data": { - "status": "waiting", - "id": "commit0" + "id": "commit0", + "status": "waiting" } } { + "event": "JOB_STATUS_CHANGE", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "JOB_STATUS_CHANGE", "data": { - "status": "pending", - "id": "commit0" + "id": "commit0", + "status": "pending" } } { - "timestamp": { - "seconds": TIMESTAMP, - "microseconds": TIMESTAMP - }, "event": "BLOCK_JOB_COMPLETED", + "timestamp": { + "seconds": TIMESTAMP, + "microseconds": TIMESTAMP + }, "data": { + "type": "commit", "device": "commit0", "len": 67108864, "offset": 67108864, - "speed": 0, - "type": "commit" + "speed": 0 } } { + "event": "JOB_STATUS_CHANGE", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "JOB_STATUS_CHANGE", "data": { - "status": "concluded", - "id": "commit0" + "id": "commit0", + "status": "concluded" } } { + "event": "JOB_STATUS_CHANGE", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "JOB_STATUS_CHANGE", "data": { - "status": "null", - "id": "commit0" + "id": "commit0", + "status": "null" } } @@ -112,268 +112,268 @@ wrote 65536/65536 bytes at offset 1048576 { "return": [ { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT.base", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "dirty-flag": false - }, - "backing-filename-format": "IMGFMT", - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT.ovl2", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "full-backing-filename": "TEST_DIR/t.IMGFMT.base", - "backing-filename": "TEST_DIR/t.IMGFMT.base", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, + "file": "TEST_DIR/t.IMGFMT.ovl2", "node-name": "top2", - "backing_file_depth": 1, + "ro": false, "drv": "IMGFMT", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, "backing_file": "TEST_DIR/t.IMGFMT.base", + "backing_file_depth": 1, "encrypted": false, + "detect_zeroes": "off", "bps": 0, "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, + "image": { + "filename": "TEST_DIR/t.IMGFMT.ovl2", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, + "backing-filename": "TEST_DIR/t.IMGFMT.base", + "full-backing-filename": "TEST_DIR/t.IMGFMT.base", + "backing-filename-format": "IMGFMT", + "backing-image": { + "filename": "TEST_DIR/t.IMGFMT.base", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, + }, }, - "file": "TEST_DIR/t.IMGFMT.ovl2" + "cache": { + "writeback": true, + "direct": false, + "no-flush": false + }, + "write_threshold": 0 }, { - "iops_rd": 0, + "file": "TEST_DIR/t.IMGFMT.ovl2", + "node-name": "NODE_NAME", + "ro": false, + "drv": "file", + "backing_file_depth": 0, + "encrypted": false, "detect_zeroes": "off", + "bps": 0, + "bps_rd": 0, + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, "image": { - "virtual-size": 197120, "filename": "TEST_DIR/t.IMGFMT.ovl2", "format": "file", + "dirty-flag": false, "actual-size": SIZE, - "dirty-flag": false + "virtual-size": 197120 }, - "iops_wr": 0, - "ro": false, - "node-name": "NODE_NAME", - "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, + "writeback": true, "direct": false, - "writeback": true + "no-flush": false }, - "file": "TEST_DIR/t.IMGFMT.ovl2" + "write_threshold": 0 }, { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT.base", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "dirty-flag": false - }, - "backing-filename-format": "IMGFMT", - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "full-backing-filename": "TEST_DIR/t.IMGFMT.base", - "backing-filename": "TEST_DIR/t.IMGFMT.base", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, + "file": "TEST_DIR/t.IMGFMT", "node-name": "top", - "backing_file_depth": 1, + "ro": false, "drv": "IMGFMT", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, "backing_file": "TEST_DIR/t.IMGFMT.base", + "backing_file_depth": 1, "encrypted": false, + "detect_zeroes": "off", "bps": 0, "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, + "image": { + "filename": "TEST_DIR/t.IMGFMT", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, + "backing-filename": "TEST_DIR/t.IMGFMT.base", + "full-backing-filename": "TEST_DIR/t.IMGFMT.base", + "backing-filename-format": "IMGFMT", + "backing-image": { + "filename": "TEST_DIR/t.IMGFMT.base", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, + }, }, - "file": "TEST_DIR/t.IMGFMT" + "cache": { + "writeback": true, + "direct": false, + "no-flush": false + }, + "write_threshold": 0 }, { - "iops_rd": 0, + "file": "TEST_DIR/t.IMGFMT", + "node-name": "NODE_NAME", + "ro": false, + "drv": "file", + "backing_file_depth": 0, + "encrypted": false, "detect_zeroes": "off", + "bps": 0, + "bps_rd": 0, + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, "image": { - "virtual-size": 197120, "filename": "TEST_DIR/t.IMGFMT", "format": "file", + "dirty-flag": false, "actual-size": SIZE, - "dirty-flag": false + "virtual-size": 197120 }, - "iops_wr": 0, - "ro": false, - "node-name": "NODE_NAME", - "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, + "writeback": true, "direct": false, - "writeback": true + "no-flush": false }, - "file": "TEST_DIR/t.IMGFMT" + "write_threshold": 0 }, { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT.base", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "dirty-flag": false - }, - "backing-filename-format": "IMGFMT", - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT.mid", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "full-backing-filename": "TEST_DIR/t.IMGFMT.base", - "backing-filename": "TEST_DIR/t.IMGFMT.base", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, + "file": "TEST_DIR/t.IMGFMT.mid", "node-name": "mid", - "backing_file_depth": 1, + "ro": false, "drv": "IMGFMT", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, "backing_file": "TEST_DIR/t.IMGFMT.base", + "backing_file_depth": 1, "encrypted": false, + "detect_zeroes": "off", "bps": 0, "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, + "image": { + "filename": "TEST_DIR/t.IMGFMT.mid", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, + "backing-filename": "TEST_DIR/t.IMGFMT.base", + "full-backing-filename": "TEST_DIR/t.IMGFMT.base", + "backing-filename-format": "IMGFMT", + "backing-image": { + "filename": "TEST_DIR/t.IMGFMT.base", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, + }, }, - "file": "TEST_DIR/t.IMGFMT.mid" + "cache": { + "writeback": true, + "direct": false, + "no-flush": false + }, + "write_threshold": 0 }, { - "iops_rd": 0, + "file": "TEST_DIR/t.IMGFMT.mid", + "node-name": "NODE_NAME", + "ro": false, + "drv": "file", + "backing_file_depth": 0, + "encrypted": false, "detect_zeroes": "off", + "bps": 0, + "bps_rd": 0, + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, "image": { - "virtual-size": 393216, "filename": "TEST_DIR/t.IMGFMT.mid", "format": "file", + "dirty-flag": false, "actual-size": SIZE, - "dirty-flag": false + "virtual-size": 393216 }, - "iops_wr": 0, - "ro": false, - "node-name": "NODE_NAME", - "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, + "writeback": true, "direct": false, - "writeback": true + "no-flush": false }, - "file": "TEST_DIR/t.IMGFMT.mid" + "write_threshold": 0 }, { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT.base", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, + "file": "TEST_DIR/t.IMGFMT.base", "node-name": "base", - "backing_file_depth": 0, + "ro": false, "drv": "IMGFMT", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, + "backing_file_depth": 0, "encrypted": false, + "detect_zeroes": "off", "bps": 0, "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, + "image": { + "filename": "TEST_DIR/t.IMGFMT.base", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, }, - "file": "TEST_DIR/t.IMGFMT.base" + "cache": { + "writeback": true, + "direct": false, + "no-flush": false + }, + "write_threshold": 0 }, { - "iops_rd": 0, + "file": "TEST_DIR/t.IMGFMT.base", + "node-name": "NODE_NAME", + "ro": false, + "drv": "file", + "backing_file_depth": 0, + "encrypted": false, "detect_zeroes": "off", + "bps": 0, + "bps_rd": 0, + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, "image": { - "virtual-size": 393216, "filename": "TEST_DIR/t.IMGFMT.base", "format": "file", + "dirty-flag": false, "actual-size": SIZE, - "dirty-flag": false + "virtual-size": 393216 }, - "iops_wr": 0, - "ro": false, - "node-name": "NODE_NAME", - "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, + "writeback": true, "direct": false, - "writeback": true + "no-flush": false }, - "file": "TEST_DIR/t.IMGFMT.base" + "write_threshold": 0 } ] } @@ -383,11 +383,11 @@ wrote 65536/65536 bytes at offset 1048576 } } { + "event": "SHUTDOWN", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "SHUTDOWN", "data": { "guest": false, "reason": "host-qmp-quit" @@ -429,25 +429,25 @@ wrote 65536/65536 bytes at offset 1048576 'base':'TEST_DIR/t.IMGFMT.base', 'top': 'TEST_DIR/t.IMGFMT.mid' } } { + "event": "JOB_STATUS_CHANGE", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "JOB_STATUS_CHANGE", "data": { - "status": "created", - "id": "commit0" + "id": "commit0", + "status": "created" } } { + "event": "JOB_STATUS_CHANGE", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "JOB_STATUS_CHANGE", "data": { - "status": "running", - "id": "commit0" + "id": "commit0", + "status": "running" } } { @@ -455,61 +455,61 @@ wrote 65536/65536 bytes at offset 1048576 } } { + "event": "JOB_STATUS_CHANGE", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "JOB_STATUS_CHANGE", "data": { - "status": "waiting", - "id": "commit0" + "id": "commit0", + "status": "waiting" } } { + "event": "JOB_STATUS_CHANGE", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "JOB_STATUS_CHANGE", "data": { - "status": "pending", - "id": "commit0" + "id": "commit0", + "status": "pending" } } { - "timestamp": { - "seconds": TIMESTAMP, - "microseconds": TIMESTAMP - }, "event": "BLOCK_JOB_COMPLETED", + "timestamp": { + "seconds": TIMESTAMP, + "microseconds": TIMESTAMP + }, "data": { + "type": "commit", "device": "commit0", "len": 67108864, "offset": 67108864, - "speed": 0, - "type": "commit" + "speed": 0 } } { + "event": "JOB_STATUS_CHANGE", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "JOB_STATUS_CHANGE", "data": { - "status": "concluded", - "id": "commit0" + "id": "commit0", + "status": "concluded" } } { + "event": "JOB_STATUS_CHANGE", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "JOB_STATUS_CHANGE", "data": { - "status": "null", - "id": "commit0" + "id": "commit0", + "status": "null" } } @@ -519,279 +519,279 @@ wrote 65536/65536 bytes at offset 1048576 { "return": [ { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT.base", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "dirty-flag": false - }, - "backing-filename-format": "IMGFMT", - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT.ovl2", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "full-backing-filename": "TEST_DIR/t.IMGFMT.base", - "backing-filename": "TEST_DIR/t.IMGFMT.base", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, + "file": "TEST_DIR/t.IMGFMT.ovl2", "node-name": "NODE_NAME", - "backing_file_depth": 1, + "ro": true, "drv": "IMGFMT", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, "backing_file": "TEST_DIR/t.IMGFMT.base", + "backing_file_depth": 1, "encrypted": false, + "detect_zeroes": "off", "bps": 0, "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, + "image": { + "filename": "TEST_DIR/t.IMGFMT.ovl2", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, + "backing-filename": "TEST_DIR/t.IMGFMT.base", + "full-backing-filename": "TEST_DIR/t.IMGFMT.base", + "backing-filename-format": "IMGFMT", + "backing-image": { + "filename": "TEST_DIR/t.IMGFMT.base", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, + }, }, - "file": "TEST_DIR/t.IMGFMT.ovl2" + "cache": { + "writeback": true, + "direct": false, + "no-flush": false + }, + "write_threshold": 0 }, { - "iops_rd": 0, + "file": "TEST_DIR/t.IMGFMT.ovl2", + "node-name": "NODE_NAME", + "ro": true, + "drv": "file", + "backing_file_depth": 0, + "encrypted": false, "detect_zeroes": "off", + "bps": 0, + "bps_rd": 0, + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, "image": { - "virtual-size": 197120, "filename": "TEST_DIR/t.IMGFMT.ovl2", "format": "file", + "dirty-flag": false, "actual-size": SIZE, - "dirty-flag": false + "virtual-size": 197120 }, - "iops_wr": 0, - "ro": true, - "node-name": "NODE_NAME", - "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, + "writeback": true, "direct": false, - "writeback": true + "no-flush": false }, - "file": "TEST_DIR/t.IMGFMT.ovl2" + "write_threshold": 0 }, { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "backing-image": { - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT.base", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "dirty-flag": false - }, - "backing-filename-format": "IMGFMT", - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT.ovl2", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "full-backing-filename": "TEST_DIR/t.IMGFMT.base", - "backing-filename": "TEST_DIR/t.IMGFMT.base", - "dirty-flag": false - }, - "backing-filename-format": "IMGFMT", - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT.ovl3", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "full-backing-filename": "TEST_DIR/t.IMGFMT.ovl2", - "backing-filename": "TEST_DIR/t.IMGFMT.ovl2", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, + "file": "TEST_DIR/t.IMGFMT.ovl3", "node-name": "top2", - "backing_file_depth": 2, + "ro": false, "drv": "IMGFMT", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, "backing_file": "TEST_DIR/t.IMGFMT.ovl2", + "backing_file_depth": 2, "encrypted": false, + "detect_zeroes": "off", "bps": 0, "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, + "image": { + "filename": "TEST_DIR/t.IMGFMT.ovl3", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, + "backing-filename": "TEST_DIR/t.IMGFMT.ovl2", + "full-backing-filename": "TEST_DIR/t.IMGFMT.ovl2", + "backing-filename-format": "IMGFMT", + "backing-image": { + "filename": "TEST_DIR/t.IMGFMT.ovl2", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, + "backing-filename": "TEST_DIR/t.IMGFMT.base", + "full-backing-filename": "TEST_DIR/t.IMGFMT.base", + "backing-filename-format": "IMGFMT", + "backing-image": { + "filename": "TEST_DIR/t.IMGFMT.base", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, + }, + }, }, - "file": "TEST_DIR/t.IMGFMT.ovl3" + "cache": { + "writeback": true, + "direct": false, + "no-flush": false + }, + "write_threshold": 0 }, { - "iops_rd": 0, + "file": "TEST_DIR/t.IMGFMT.ovl3", + "node-name": "NODE_NAME", + "ro": false, + "drv": "file", + "backing_file_depth": 0, + "encrypted": false, "detect_zeroes": "off", + "bps": 0, + "bps_rd": 0, + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, "image": { - "virtual-size": 197120, "filename": "TEST_DIR/t.IMGFMT.ovl3", "format": "file", + "dirty-flag": false, "actual-size": SIZE, - "dirty-flag": false + "virtual-size": 197120 }, - "iops_wr": 0, - "ro": false, - "node-name": "NODE_NAME", - "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, + "writeback": true, "direct": false, - "writeback": true + "no-flush": false }, - "file": "TEST_DIR/t.IMGFMT.ovl3" + "write_threshold": 0 }, { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT.base", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "dirty-flag": false - }, - "iops_wr": 0, + "file": "TEST_DIR/t.IMGFMT.base", + "node-name": "NODE_NAME", "ro": true, - "node-name": "NODE_NAME", - "backing_file_depth": 0, "drv": "IMGFMT", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, + "backing_file_depth": 0, "encrypted": false, + "detect_zeroes": "off", "bps": 0, "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, + "image": { + "filename": "TEST_DIR/t.IMGFMT.base", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, }, - "file": "TEST_DIR/t.IMGFMT.base" + "cache": { + "writeback": true, + "direct": false, + "no-flush": false + }, + "write_threshold": 0 }, { - "iops_rd": 0, + "file": "TEST_DIR/t.IMGFMT.base", + "node-name": "NODE_NAME", + "ro": true, + "drv": "file", + "backing_file_depth": 0, + "encrypted": false, "detect_zeroes": "off", + "bps": 0, + "bps_rd": 0, + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, "image": { - "virtual-size": 393216, "filename": "TEST_DIR/t.IMGFMT.base", "format": "file", + "dirty-flag": false, "actual-size": SIZE, - "dirty-flag": false + "virtual-size": 393216 }, - "iops_wr": 0, - "ro": true, - "node-name": "NODE_NAME", - "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, + "writeback": true, "direct": false, - "writeback": true + "no-flush": false }, - "file": "TEST_DIR/t.IMGFMT.base" + "write_threshold": 0 }, { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT.base", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "dirty-flag": false - }, - "backing-filename-format": "IMGFMT", - "virtual-size": 67108864, - "filename": "TEST_DIR/t.IMGFMT", - "cluster-size": 65536, - "format": "IMGFMT", - "actual-size": SIZE, - "full-backing-filename": "TEST_DIR/t.IMGFMT.base", - "backing-filename": "TEST_DIR/t.IMGFMT.base", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, + "file": "TEST_DIR/t.IMGFMT", "node-name": "top", - "backing_file_depth": 1, + "ro": false, "drv": "IMGFMT", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, "backing_file": "TEST_DIR/t.IMGFMT.base", + "backing_file_depth": 1, "encrypted": false, + "detect_zeroes": "off", "bps": 0, "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, + "image": { + "filename": "TEST_DIR/t.IMGFMT", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, + "backing-filename": "TEST_DIR/t.IMGFMT.base", + "full-backing-filename": "TEST_DIR/t.IMGFMT.base", + "backing-filename-format": "IMGFMT", + "backing-image": { + "filename": "TEST_DIR/t.IMGFMT.base", + "format": "IMGFMT", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 67108864, + "cluster-size": 65536, + }, }, - "file": "TEST_DIR/t.IMGFMT" + "cache": { + "writeback": true, + "direct": false, + "no-flush": false + }, + "write_threshold": 0 }, { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "TEST_DIR/t.IMGFMT", - "format": "file", - "actual-size": SIZE, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, + "file": "TEST_DIR/t.IMGFMT", "node-name": "NODE_NAME", - "backing_file_depth": 0, + "ro": false, "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, + "backing_file_depth": 0, "encrypted": false, + "detect_zeroes": "off", "bps": 0, "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true + "bps_wr": 0, + "iops": 0, + "iops_rd": 0, + "iops_wr": 0, + "image": { + "filename": "TEST_DIR/t.IMGFMT", + "format": "file", + "dirty-flag": false, + "actual-size": SIZE, + "virtual-size": 197120 }, - "file": "TEST_DIR/t.IMGFMT" + "cache": { + "writeback": true, + "direct": false, + "no-flush": false + }, + "write_threshold": 0 } ] } @@ -801,11 +801,11 @@ wrote 65536/65536 bytes at offset 1048576 } } { + "event": "SHUTDOWN", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "SHUTDOWN", "data": { "guest": false, "reason": "host-qmp-quit" diff --git a/tests/qemu-iotests/195.out b/tests/qemu-iotests/195.out index ec84df5012..485d7a1115 100644 --- a/tests/qemu-iotests/195.out +++ b/tests/qemu-iotests/195.out @@ -22,11 +22,11 @@ Testing: -drive if=none,file=TEST_DIR/t.IMGFMT,backing.node-name=mid } } { + "event": "SHUTDOWN", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "SHUTDOWN", "data": { "guest": false, "reason": "host-qmp-quit" @@ -60,11 +60,11 @@ Testing: -drive if=none,file=TEST_DIR/t.IMGFMT,node-name=top } } { + "event": "SHUTDOWN", "timestamp": { "seconds": TIMESTAMP, "microseconds": TIMESTAMP }, - "event": "SHUTDOWN", "data": { "guest": false, "reason": "host-qmp-quit" diff --git a/tests/qemu-iotests/229.out b/tests/qemu-iotests/229.out index 7d2bfbfbe6..3f4391df6e 100644 --- a/tests/qemu-iotests/229.out +++ b/tests/qemu-iotests/229.out @@ -16,19 +16,19 @@ wrote 2097152/2097152 bytes at offset 0 'mode': 'existing', 'on-source-error': 'stop', 'on-target-error': 'stop' }} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "testdisk"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "testdisk"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "testdisk", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "testdisk", "status": "running"}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_ERROR", "data": {"device": "testdisk", "operation": "write", "action": "stop"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "paused", "id": "testdisk"}} +{"event": "BLOCK_JOB_ERROR", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"device": "testdisk", "operation": "write", "action": "stop"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "testdisk", "status": "paused"}} === Force cancel job paused in error state === {'execute': 'block-job-cancel', 'arguments': { 'device': 'testdisk', 'force': true}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "testdisk"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "testdisk", "status": "running"}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "aborting", "id": "testdisk"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_CANCELLED", "data": {"device": "testdisk", "len": 2097152, "offset": OFFSET, "speed": 0, "type": "mirror"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "testdisk", "status": "aborting"}} +{"event": "BLOCK_JOB_CANCELLED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "mirror", "device": "testdisk", "len": 2097152, "offset": OFFSET, "speed": 0}} *** done diff --git a/tests/qemu-iotests/244.out b/tests/qemu-iotests/244.out index 5e03add054..57cffee1ea 100644 --- a/tests/qemu-iotests/244.out +++ b/tests/qemu-iotests/244.out @@ -156,14 +156,14 @@ wrote 1048576/1048576 bytes at offset 0 "data-file": "data", "data-file-raw": true } } } -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "create"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "create"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "create", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "create", "status": "running"}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "create"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "create"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "create"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "create", "status": "waiting"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "create", "status": "pending"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "create", "status": "concluded"}} { "execute": "job-dismiss", "arguments": { "id": "create" } } -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "create"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "create", "status": "null"}} {"return": {}} Comparing pattern: diff --git a/tests/qemu-iotests/249.out b/tests/qemu-iotests/249.out index d2bf9be85e..a1a1a1b851 100644 --- a/tests/qemu-iotests/249.out +++ b/tests/qemu-iotests/249.out @@ -16,8 +16,8 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t. { 'execute': 'block-commit', 'arguments': {'job-id': 'job0', 'device': 'none1', 'top-node': 'int', 'filter-node-name': '1234'}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "null"}} {"error": {"class": "GenericError", "desc": "Invalid node-name: '1234'"}} === Send a write command to a drive opened in read-only mode (2) @@ -30,14 +30,14 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t. { 'execute': 'block-commit', 'arguments': {'job-id': 'job0', 'device': 'none1', 'top-node': 'int'}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "running"}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "job0", "len": 1048576, "offset": 1048576, "speed": 0, "type": "commit"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "waiting"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "pending"}} +{"event": "BLOCK_JOB_COMPLETED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "commit", "device": "job0", "len": 1048576, "offset": 1048576, "speed": 0}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "concluded"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "null"}} === Send a write command to a drive opened in read-only mode (3) diff --git a/tests/qemu-iotests/tests/qsd-jobs.out b/tests/qemu-iotests/tests/qsd-jobs.out index c1bc9b8356..336a5c3946 100644 --- a/tests/qemu-iotests/tests/qsd-jobs.out +++ b/tests/qemu-iotests/tests/qsd-jobs.out @@ -8,15 +8,15 @@ QMP_VERSION {"return": {}} {"return": {}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_CANCELLED", "data": {"device": "job0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}} +{"event": "BLOCK_JOB_CANCELLED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"type": "commit", "device": "job0", "len": 0, "offset": 0, "speed": 0}} === Streaming can't get permission on base node === QMP_VERSION {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "job0"}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "job0"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "created"}} +{"event": "JOB_STATUS_CHANGE", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "job0", "status": "null"}} {"error": {"class": "GenericError", "desc": "Permission conflict on node 'fmt_base': permissions 'write' are both required by an unnamed block device (uses node 'fmt_base' as 'root' child) and unshared by stream job 'job0' (uses node 'fmt_base' as 'intermediate node' child)."}} {"return": {}} -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_EXPORT_DELETED", "data": {"id": "export1"}} +{"event": "BLOCK_EXPORT_DELETED", "timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "data": {"id": "export1"}} *** done -- 2.35.3