>> # Statistics of a virtual block device or a block backing device. >> diff --git a/qmp-commands.hx b/qmp-commands.hx >> index 1e0e11e..6b20684 100644 >> --- a/qmp-commands.hx >> +++ b/qmp-commands.hx >> @@ -1765,6 +1765,61 @@ EQMP >> }, >> >> SQMP >> +query-snapshots >> +--------------- >> + >> +Show the internal consistent snapshot information >> + >> +Each snapshot is represented by a json-object. The returned value >> +is a json-array of all snapshots >> + >> +Each json-object contain the following: >> + >> +- "id": unique snapshot id (json-string) >> +- "name": internal snapshot name (json-string) >> +- "vm-state-size": size of the VM state in bytes (json-int) >> +- "date-sec": UTC date of the snapshot in seconds (json-int) >> +- "date-nsec": fractional part in nanoseconds to be used with >> + date-sec(json-int) >> +- "vm-clock-sec": VM clock relative to boot in seconds (json-int) >> +- "vm-clock-nsec": fractional part in nanoseconds to be used with >> + vm-clock-sec (json-int) >> + >> +Example: >> + >> +-> { "execute": "query-snapshots" } >> +<- { >> + "return":[ >> + { >> + "id": "1", >> + "name": "snapshot1", >> + "vm-state-size": 0, >> + "date-sec": 10000200, >> + "date-nsec": 12, >> + "vm-clock-sec": 206, >> + "vm-clock-nsec": 30 > > Not your patch's fault, but here goes anyway: I dislike this > representation of time. > > QMP has time in seconds, milliseconds, nanoseconds, (seconds, > milliseconds) and (seconds, nanoseconds). There has been no adult > supervision, obviously (I may say that, because it's as much my fault as > it's anybody else's). > > The sanest one by far is nanoseconds. Good for 2^63 of them. Since pi > seconds is a nanocentury, good for 2^63 / (pi * 1e9) centuries, which > should be safely beyond your retirement age. > OK, will insert a patch before removing "vm-clock-sec". Have one question: how to declare uint64_t in qmp-schema.json?
>> + }, >> + { >> + "id": "2", >> + "name": "snapshot2", >> + "vm-state-size": 34000000, >> + "date-sec": 13000200, >> + "date-nsec": 32, >> + "vm-clock-sec": 406, >> + "vm-clock-nsec": 31 >> + } >> + ] >> + } >> + >> +EQMP >> + >> + { >> + .name = "query-snapshots", >> + .args_type = "", >> + .mhandler.cmd_new = qmp_marshal_input_query_snapshots, >> + }, >> + >> +SQMP >> query-blockstats >> ---------------- > -- Best Regards Wenchao Xia