Hi, The following patches introduce the support of the dirty bitmap logging and dumping to a specified file. This patch addresses the issues raised by David and Juan. Since, I have not received any comments on the runstates, I'll keep them in the patch series.
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 (7): enable sharing of the function between migration and bitmap dump RunState: added two new flags for bitmap dump and migration process bitmap dump code via QAPI framework with runstates hmp interface for dirty bitmap dump cancel mechanism for an already running dump bitmap process set the frequency of the dump bitmap process 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 | 3 +- include/exec/ram_addr.h | 4 + migration.c | 7 + qapi-schema.json | 44 +++++- qmp-commands.hx | 77 ++++++++++ savevm.c | 357 ++++++++++++++++++++++++++++++++++++++++++++++ scripts/extract-bitmap.py | 97 +++++++++++++ vl.c | 29 +++- 14 files changed, 711 insertions(+), 15 deletions(-) create mode 100755 scripts/extract-bitmap.py -- 1.9.3