Hi, The following patches introduce the support of the dirty bitmap logging and dumping to a specified file. This patch addresses the previous issues raised by David and Juan. Since, I have not received any comments on the runstates, I'll keep them in the patch series.
v3 --> v4 * Added new qmp interface for information extraction from the bitmap process v2 --> v3 * Reformatted the code and removed some unnecessary parts. * Printing block info along with length and offset. * Changed the functions that were directly using RUN_STATE_RUNNING as state. v1 --> v2: * Added two new run states to avoid simultaneous execution of both migration and bitmap dump process. * Removed FILE pointer usage. * Dumping the data only in machine-readable format. * Tried to rectify mistakes of the previous version. Sanidhya Kashyap (8): enable sharing of the function between migration and bitmap dump RunState: added two new flags for bitmap dump and migration process BitmapLog: bitmap dump code via QAPI framework with runstates BitmapLog: hmp interface for dirty bitmap dump BitmapLog: cancel mechanism for an already running dump bitmap process BitmapLog: set the frequency of the dump bitmap process BitmapLog: get the information about the parameters BitmapLog: python script for extracting bitmap from a binary file arch_init.c | 19 ++- hmp-commands.hx | 45 ++++++ hmp.c | 33 ++++ hmp.h | 3 + hw/usb/hcd-ehci.c | 2 +- hw/usb/redirect.c | 6 +- include/exec/cpu-all.h | 4 +- include/exec/ram_addr.h | 4 + migration.c | 7 + qapi-schema.json | 77 +++++++++- qmp-commands.hx | 99 ++++++++++++ savevm.c | 384 ++++++++++++++++++++++++++++++++++++++++++++++ scripts/extract-bitmap.py | 97 ++++++++++++ vl.c | 29 +++- 14 files changed, 794 insertions(+), 15 deletions(-) create mode 100755 scripts/extract-bitmap.py -- 1.9.3