Bug 1662370 - [RFE] transaction mode don't support block-dirty-bitmap-remove
Summary: [RFE] transaction mode don't support block-dirty-bitmap-remove
Status: CLOSED DUPLICATE of bug 1756413
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: qemu-kvm
Version: 8.1
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: 8.0
Assignee: Kevin Wolf
QA Contact: aihua liang
Depends On:
TreeView+ depends on / blocked
Reported: 2018-12-28 03:28 UTC by aihua liang
Modified: 2019-11-13 06:50 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2019-11-13 06:50:45 UTC
Type: Feature Request
Target Upstream Version:

Attachments (Terms of Use)

Description aihua liang 2018-12-28 03:28:26 UTC
Description of problem:
  transaction mode don't support block-dirty-bitmap-remove

Version-Release number of selected component (if applicable):
   kernel version:4.18.0-57.el8.x86_64
   qemu-kvm version:qemu-kvm-3.1.0-2.module+el8+2606+2c716ad7.x86_64

How reproducible:

Steps to Reproduce:
1.Start guest with a data disk and imageformat "luks-inside-qcow2"
   /usr/libexec/qemu-kvm \
    -name 'avocado-vt-vm1' \
    -machine pc  \
    -nodefaults \
    -device VGA,bus=pci.0 \
    -chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/monitor-qmpmonitor1-20181225-045358-gDqDsfCu,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \
    -chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/monitor-catch_monitor-20181225-045358-gDqDsfCu,server,nowait \
    -mon chardev=qmp_id_catch_monitor,mode=control \
    -device pvpanic,ioport=0x505,id=idHtZPbY  \
    -chardev socket,id=serial_id_serial0,path=/var/tmp/serial-serial0-20181225-045358-gDqDsfCu,server,nowait \
    -device isa-serial,chardev=serial_id_serial0  \
    -chardev socket,id=seabioslog_id_20181225-045358-gDqDsfCu,path=/var/tmp/seabios-20181225-045358-gDqDsfCu,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id_20181225-045358-gDqDsfCu,iobase=0x402 \
    -device qemu-xhci,id=usb1,bus=pci.0 \
    -object secret,id=sec0,data=backing \
    -blockdev driver=file,node-name=driveimage1,filename=/home/kvm_autotest_root/images/rhel8.qcow2 \
    -blockdev node-name=drive_image1,file=driveimage1,driver=qcow2,encrypt.key-secret=sec0,encrypt.format=luks \
    -device virtio-blk-pci,id=image1,drive=drive_image1,bootindex=0,bus=pci.0 \
    -device virtio-net-pci,mac=9a:14:15:16:17:18,id=idQJqHNz,vectors=4,netdev=idXGWoum,bus=pci.0  \
    -netdev tap,id=idXGWoum,vhost=on \
    -m 14336  \
    -smp 10,maxcpus=10,cores=5,threads=1,sockets=2  \
    -cpu 'Broadwell',+kvm_pv_unhalt \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \
    -vnc :0  \
    -rtc base=utc,clock=host,driftfix=slew  \
    -boot order=cdn,once=c,menu=off,strict=off \
    -enable-kvm \
    -monitor stdio \
    -qmp tcp:0:3000,server,nowait \
    -blockdev driver=file,node-name=drivedata1,filename=/home/data1.qcow2 \
    -blockdev node-name=drive_data1,file=drivedata1,driver=qcow2,encrypt.key-secret=sec0,encrypt.format=luks \
    -device virtio-blk-pci,id=data1,drive=drive_data1,bus=pci.0 \
    -blockdev driver=file,node-name=drivedata2,filename=/home/data2.qcow2 \
    -blockdev node-name=drive_data2,file=drivedata2,driver=qcow2 \
    -device virtio-blk-pci,id=data2,drive=drive_data2,bus=pci.0 \

2.Create multiple dirty bitmap.
   { "execute": "transaction", "arguments": { "actions": [ {"type": "block-dirty-bitmap-add", "data": { "node": "drive_data1", "name": "bitmap1"} },{"type": "block-dirty-bitmap-add", "data": { "node": "drive_data1", "name": "bitmap2"} },{"type": "block-dirty-bitmap-add", "data": { "node": "drive_data1", "name": "bitmap3"} },{"type": "block-dirty-bitmap-add", "data": { "node": "drive_data1", "name": "bitmap4"} },{"type": "block-dirty-bitmap-add", "data": { "node": "drive_data1", "name": "bitmap5"} }] }}

3.Remove these dirty bitmaps.
   { "execute": "transaction", "arguments": { "actions": [ {"type": "block-dirty-bitmap-remove", "data": { "node": "drive_data1", "name": "bitmap1"} },{"type": "block-dirty-bitmap-remove", "data": { "node": "drive_data1", "name": "bitmap2"} },{"type": "block-dirty-bitmap-remove", "data": { "node": "drive_data1", "name": "bitmap3"} },{"type": "block-dirty-bitmap-remove", "data": { "node": "drive_data1", "name": "bitmap4"} },{"type": "block-dirty-bitmap-remove", "data": { "node": "drive_data1", "name": "bitmap5"} }] }}
{"error": {"class": "GenericError", "desc": "Invalid parameter 'block-dirty-bitmap-remove'"}}

Actual results:
  Remove bitmap in transaction mode failed, with error msg:
     {"error": {"class": "GenericError", "desc": "Invalid parameter 'block-dirty-bitmap-remove'"}}

Expected results:
  Can successfully remove bitmaps.

Comment 2 aihua liang 2019-11-13 06:50:45 UTC
Newly filed bug:bz#1756413 has used to track this issue, and it has been resolved, so close this bug to dup it to bz#1756413.

*** This bug has been marked as a duplicate of bug 1756413 ***

Note You need to log in before you can comment on or make changes to this bug.