incremental_live_backup: Error prompt info when do incremental backup with an invalid "bitmap-mode"
Description of problem: Error prompt info when do incremental backup with an invalid "bitmap-mode"
Version-Release number of selected component (if applicable): kernel version:4.18.0-160.el8.x86_64 qemu-kvm version:qemu-kvm-4.2.0-4.module+el8.2.0+5220+e82621dc.x86_64
How reproducible: 100%
Steps to Reproduce:
1.Start guest with qemu cmds:
/usr/libexec/qemu-kvm
-name 'avocado-vt-vm1'
-sandbox on
-machine q35
-nodefaults
-device VGA,bus=pcie.0,addr=0x1
-m 7168
-smp 4,maxcpus=4,cores=2,threads=1,dies=1,sockets=2
-cpu 'Skylake-Client',+kvm_pv_unhalt
-chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/monitor-qmpmonitor1-20191211-004744-QuD8XYDI,server,nowait
-mon chardev=qmp_id_qmpmonitor1,mode=control
-chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/monitor-catch_monitor-20191211-004744-QuD8XYDI,server,nowait
-mon chardev=qmp_id_catch_monitor,mode=control
-device pvpanic,ioport=0x505,id=id8jnCka
-chardev socket,path=/var/tmp/serial-serial0-20191211-004744-QuD8XYDI,id=chardev_serial0,server,nowait
-device isa-serial,id=serial0,chardev=chardev_serial0
-chardev socket,id=seabioslog_id_20191211-004744-QuD8XYDI,path=/var/tmp/seabios-20191211-004744-QuD8XYDI,server,nowait
-device isa-debugcon,chardev=seabioslog_id_20191211-004744-QuD8XYDI,iobase=0x402
-device pcie-root-port,id=pcie.0-root-port-2,slot=2,chassis=2,addr=0x2,bus=pcie.0,multifunction=on
-device qemu-xhci,id=usb1,bus=pcie.0-root-port-2,addr=0x0
-object iothread,id=iothread0
-object iothread,id=iothread1
-device pcie-root-port,id=pcie.0-root-port-3,slot=3,chassis=3,addr=0x2.0x1
-device virtio-scsi-pci,id=virtio_scsi_pci0,iothread=iothread0,bus=pcie.0-root-port-3,addr=0x0
-blockdev node-name=file_image1,driver=file,aio=threads,filename=/home/kvm_autotest_root/images/rhel820-64-virtio-scsi.qcow2,cache.direct=on,cache.no-flush=off
-blockdev node-name=drive_image1,driver=qcow2,cache.direct=on,cache.no-flush=off,file=file_image1
-device scsi-hd,id=image1,drive=drive_image1,write-cache=on
-device pcie-root-port,id=pcie.0-root-port-4,slot=4,chassis=4,addr=0x2.0x2
-blockdev node-name=file_data,driver=file,aio=threads,filename=/home/data.qcow2,cache.direct=on,cache.no-flush=off
-blockdev node-name=drive_data1,driver=qcow2,cache.direct=on,cache.no-flush=off,file=file_data
-device virtio-blk-pci,id=data1,drive=drive_data1,write-cache=on,bus=pcie.0-root-port-4
-device pcie-root-port,id=pcie.0-root-port-5,slot=5,chassis=5,addr=0x2.0x3
-device virtio-net-pci,mac=9a:a9:8f:6a:a0:36,id=idoelrY9,netdev=idTgrin0,bus=pcie.0-root-port-5,addr=0x0
-netdev tap,id=idTgrin0,vhost=on
-device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1
-vnc :0
-rtc base=utc,clock=host,driftfix=slew
-boot menu=off,order=cdn,once=c,strict=off
-enable-kvm
-device pcie-root-port,id=pcie_extra_root_port_0,slot=6,chassis=6,addr=0x2.0x4
-monitor stdio
-qmp tcp:0:3000,server,nowait \
- Create backup target sn1
{'execute':'blockdev-create','arguments':{'options': {'driver':'file','filename':'/root/sn$i','size':2147483648},'job-id':'job1'}}
{'execute':'blockdev-add','arguments':{'driver':'file','node-name':'drive_sn
i','filename':'/root/sn
i'}} {'execute':'blockdev-create','arguments':{'options': {'cluster-size':16384,'driver': 'qcow2','file':'drive_sn$i','size':2147483648},'job-id':'job2'}} {'execute':'blockdev-add','arguments':{'driver':'qcow2','node-name':'sni','file':'drive_sn
i'}} {'execute':'job-dismiss','arguments':{'id':'job1'}} {'execute':'job-dismiss','arguments':{'id':'job2'}}
3.Do full backup on data disk and add bitmap to it. { "execute": "transaction", "arguments": { "actions": [ {"type": "blockdev-backup", "data": { "device": "drive_data1", "target": "sn1", "sync": "full", "job-id":"j1" } }, {"type": "block-dirty-bitmap-add", "data": { "node": "drive_data1", "name": "bitmap0" } } ] } } {"timestamp": {"seconds": 1576563577, "microseconds": 350229}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "j1"}} {"timestamp": {"seconds": 1576563577, "microseconds": 350292}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "j1"}} {"timestamp": {"seconds": 1576563577, "microseconds": 350325}, "event": "JOB_STATUS_CHANGE", "data": {"status": "paused", "id": "j1"}} {"timestamp": {"seconds": 1576563577, "microseconds": 350371}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "j1"}} {"return": {}} {"timestamp": {"seconds": 1576563579, "microseconds": 676847}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "j1"}} {"timestamp": {"seconds": 1576563579, "microseconds": 676913}, "event": "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "j1"}} {"timestamp": {"seconds": 1576563579, "microseconds": 677003}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "j1", "len": 2147483648, "offset": 2147483648, "speed": 0, "type": "backup"}} {"timestamp": {"seconds": 1576563579, "microseconds": 677064}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "j1"}} {"timestamp": {"seconds": 1576563579, "microseconds": 677110}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "j1"}}
4.DD a new file in guest (guest)#dd if=/dev/urandom of=test bs=1M count=1000
5.Create incremental backup target
{'execute':'blockdev-create','arguments':{'options': {'driver':'file','filename':'/root/sn$i','size':2147483648},'job-id':'job1'}}
{'execute':'blockdev-add','arguments':{'driver':'file','node-name':'drive_sni','filename':'/root/sn
i'}}
{'execute':'blockdev-create','arguments':{'options': {'driver': 'qcow2','file':'drive_sni','size':2147483648,'backing-file':'/root/sn
j','backing-fmt':'qcow2'},'job-id':'job2'}}
{'execute':'blockdev-add','arguments':{'driver':'qcow2','node-name':'sni','file':'drive_sn
i','backing':'sn$j'}}
{'execute':'job-dismiss','arguments':{'id':'job1'}}
{'execute':'job-dismiss','arguments':{'id':'job2'}}
6.Do incremental backup with bitmap-mode:success { "execute": "blockdev-backup", "arguments": { "device": "drive_data1", "sync":"incremental","target":"sn2","bitmap":"bitmap0","job-id":"j1","bitmap-mode":"success"}} {"error": {"class": "GenericError", "desc": "Invalid parameter 'success'"}}
Actual results: After step6, error prompt info.
Expected results: After step6, error info should be something like: "Invalid value for parameter 'bitmap-mode'"
Note: Test on qemu-kvm-6.0.0-25.module+el8.5.0+11890+8e7c3f51, still hit this issue.