Message ID | 1405596081-29701-6-git-send-email-sanidhya.iiith@gmail.com |
---|---|
State | New |
Headers | show |
On 07/17/2014 05:21 AM, Sanidhya Kashyap wrote: > Signed-off-by: Sanidhya Kashyap <sanidhya.iiith@gmail.com> > --- > hmp-commands.hx | 14 ++++++++++++++ > hmp.c | 5 +++++ > hmp.h | 1 + > qapi-schema.json | 8 ++++++++ > qmp-commands.hx | 21 +++++++++++++++++++++ > savevm.c | 19 +++++++++++++++++++ > 6 files changed, 68 insertions(+) So here you provide HMP and QMP in one patch (fine); but earlier you separated them between 3/8 and 4/8. Might be nice to be consistent in the series. > > diff --git a/hmp-commands.hx b/hmp-commands.hx > index 575df78..61eca66 100644 > --- a/hmp-commands.hx > +++ b/hmp-commands.hx > @@ -1804,6 +1804,20 @@ STEXI > dumps the writable working set of a VM's memory to a file > ETEXI > > + { > + .name = "ldbc|log-dirty-bitmap-cancel", HMP commands still use _ in their names; it's only QMP where we prefer dash. > +++ b/qapi-schema.json > @@ -3503,3 +3503,11 @@ > 'data' : { 'filename' : 'str', > '*epochs' : 'int', > '*frequency' : 'int' } } > +## > +# @log-dirty-bitmap-cancel > +# > +# cancel the dirty bitmap logging process > +# > +# Since 2.2 > +## > +{ 'command': 'log-dirty-bitmap-cancel' } Correctly named with dash here... > diff --git a/qmp-commands.hx b/qmp-commands.hx > index 200f57e..69d4a07 100644 > --- a/qmp-commands.hx > +++ b/qmp-commands.hx > @@ -3785,3 +3785,24 @@ Examples: > Note: The epochs, frequency and readable are optional. epochs default > value is 3 while that of frequency is 10. > EQMP > + > + { > + .name = "log-dirty-bitmap-cancel", > + .args_type = "", > + .mhandler.cmd_new = qmp_marshal_input_log_dirty_bitmap_cancel, > + }, > + > +SQMP > +log_bitmap_cancel ...but completely wrong name here.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > So here you provide HMP and QMP in one patch (fine); but earlier > you separated them between 3/8 and 4/8. Might be nice to be > consistent in the series. > Will separate the patch. >> + { + .name = "ldbc|log-dirty-bitmap-cancel", > > HMP commands still use _ in their names; it's only QMP where we > prefer dash. > I didn't notice. Will change it. - ----- Sanidhya Kashyap -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJTyV6sAAoJEFt9RLmoahlnPM8H/38Ey44B5PiWkQwvXlz/xFmm hJZXsP/icaLJBcTYKBLWHTWUs39wmdeOO0tNpm196nBZlUP+3wRJEgajmUVu4rFg uM8dNwh6HxGn5Hu4u7fbEfEXh1wHrupApHfxOwoFK9dmdInyvVLfalarwWXfshxu mxMdm6kq3uz3W+I1pNWiYN2UUG62CLPIpcmJEjAYpWyhouwEJqwPER3CS5K7QxWb 41F5MF6VoFBCKF7VWM36dlFag0yVOOVi1OPytfKT/CBH+kDkNlJyoy8+Oimo/Gkj 8kqgi+QOxI/XJEMAi3gavgUE6vEePLB23M2Dl8p8xV3eBsG25KwM3HJaa0vuUl0= =AtnI -----END PGP SIGNATURE-----
diff --git a/hmp-commands.hx b/hmp-commands.hx index 575df78..61eca66 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -1804,6 +1804,20 @@ STEXI dumps the writable working set of a VM's memory to a file ETEXI + { + .name = "ldbc|log-dirty-bitmap-cancel", + .args_type = "", + .params = "", + .help = "cancel the current bitmap dump process", + .mhandler.cmd = hmp_log_dirty_bitmap_cancel, +}, + +STEXI +@item ldbc or log-dirty-bitmap-cancel +@findex log-dirty-bitmap-cancel +Cancel the current bitmap dump process +ETEXI + STEXI @end table ETEXI diff --git a/hmp.c b/hmp.c index 3c8e56d..782f788 100644 --- a/hmp.c +++ b/hmp.c @@ -1334,6 +1334,11 @@ void hmp_log_dirty_bitmap(Monitor *mon, const QDict *qdict) } } +void hmp_log_dirty_bitmap_cancel(Monitor *mon, const QDict *qdict) +{ + qmp_log_dirty_bitmap_cancel(NULL); +} + void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict) { Error *err = NULL; diff --git a/hmp.h b/hmp.h index 0895182..12691f9 100644 --- a/hmp.h +++ b/hmp.h @@ -95,6 +95,7 @@ void hmp_object_add(Monitor *mon, const QDict *qdict); void hmp_object_del(Monitor *mon, const QDict *qdict); void hmp_info_memdev(Monitor *mon, const QDict *qdict); void hmp_log_dirty_bitmap(Monitor *mon, const QDict *qdict); +void hmp_log_dirty_bitmap_cancel(Monitor *mon, const QDict *qdict); void object_add_completion(ReadLineState *rs, int nb_args, const char *str); void object_del_completion(ReadLineState *rs, int nb_args, const char *str); void device_add_completion(ReadLineState *rs, int nb_args, const char *str); diff --git a/qapi-schema.json b/qapi-schema.json index 924d6bc..70e07e9 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -3503,3 +3503,11 @@ 'data' : { 'filename' : 'str', '*epochs' : 'int', '*frequency' : 'int' } } +## +# @log-dirty-bitmap-cancel +# +# cancel the dirty bitmap logging process +# +# Since 2.2 +## +{ 'command': 'log-dirty-bitmap-cancel' } diff --git a/qmp-commands.hx b/qmp-commands.hx index 200f57e..69d4a07 100644 --- a/qmp-commands.hx +++ b/qmp-commands.hx @@ -3785,3 +3785,24 @@ Examples: Note: The epochs, frequency and readable are optional. epochs default value is 3 while that of frequency is 10. EQMP + + { + .name = "log-dirty-bitmap-cancel", + .args_type = "", + .mhandler.cmd_new = qmp_marshal_input_log_dirty_bitmap_cancel, + }, + +SQMP +log_bitmap_cancel +-------------- + +Cancel the current bitmap dump process. + +Arguments: None. + +Example: + +-> { "execute": "log-dirty-bitmap-cancel" } +<- { "return": {} } + +EQMP diff --git a/savevm.c b/savevm.c index ecb334e..b1b0421 100644 --- a/savevm.c +++ b/savevm.c @@ -1462,6 +1462,25 @@ void qmp_log_dirty_bitmap(const char *filename, bool has_epochs, return; } +static void logging_bitmap_cancel(BitmapLogState *b) +{ + int old_state; + do { + old_state = b->state; + if (old_state != LOG_BITMAP_STATE_SETUP && + old_state != LOG_BITMAP_STATE_ACTIVE) { + break; + } + logging_state_set_status(b, old_state, + LOG_BITMAP_STATE_CANCELING); + } while (b->state != LOG_BITMAP_STATE_CANCELING); +} + +void qmp_log_dirty_bitmap_cancel(Error **errp) +{ + logging_bitmap_cancel(logging_current_state()); +} + void qmp_xen_save_devices_state(const char *filename, Error **errp) { QEMUFile *f;
Signed-off-by: Sanidhya Kashyap <sanidhya.iiith@gmail.com> --- hmp-commands.hx | 14 ++++++++++++++ hmp.c | 5 +++++ hmp.h | 1 + qapi-schema.json | 8 ++++++++ qmp-commands.hx | 21 +++++++++++++++++++++ savevm.c | 19 +++++++++++++++++++ 6 files changed, 68 insertions(+)