Description of problem:
The HMP command "block_set_io_throttle" not support in qemu-kvm-rhev-2.8.0-2.el7,but supported in qemu-kvm-rhev-2.6.0-28.el7_3.2
Version-Release number of selected component (if applicable):
Host kernel: 3.10.0-543.el7.ppc64le
Steps to Reproduce:
1.create two disk
-name RHEL7-8393 \
-M pseries-rhel7.4.0 \
-m 64G \
-smp 4 \
-boot menu=on,order=c \
-device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pci.0,addr=06 \
-drive file=/home/hyx/os/RHEL-7.3-20161019.0-Server-ppc64-dvd1.iso,if=none,media=cdrom,id=image0 \
-device scsi-cd,id=scsi-cd0,drive=image0,channel=0,scsi-id=0,lun=0,bootindex=1 \
-drive file=/home/hyx/image/RHEL7-8393-2-18G.raw,if=none,media=disk,format=raw,cache=none,bps=102400,bps_rd=204800,id=image2 \
-device scsi-hd,id=scsi-hd2,drive=image2,channel=0,scsi-id=0,lun=1 \
-drive file=/home/hyx/image/RHEL7-8393-20G.raw,if=none,media=disk,format=raw,id=image1 \
-device scsi-hd,id=scsi-hd1,drive=image1,channel=0,scsi-id=0,lun=2,bootindex=0 \
-device nec-usb-xhci,id=xhci \
-drive file=/home/hyx/image/ubs-1G.raw,if=none,id=stick,bps_rd=102400,iops_rd=100,bps_wr=102400,iops_wr=100 \
-device usb-storage,removable=on,bus=xhci.0,drive=stick \
-netdev tap,id=hostnet0,script=/etc/qemu-ifup \
-device spapr-vlan,netdev=hostnet0,id=virtio-net-pci0,mac=70:e2:84:14:0e:18 \
-rtc base=utc,clock=vm \
-monitor stdio \
-serial unix:./sock1,server,nowait \
-qmp tcp:0:6000,server,nowait \
-device usb-tablet \
2.boot guest and execute HMP command
(qemu) block_set_io_throttle scsi-hd2 102400 204800 0 0 0 0
(qemu) block_set_io_throttle image2 102400 204800 0 0 0 0
The HMP show "Need exactly one of 'device' and 'id'"
The command HMP could be executed successfully.
I believe this was done on purpose:
Author: Eric Blake <email@example.com>
Date: Wed Jul 13 21:50:21 2016 -0600
block: Simplify block_set_io_throttle
Now that we can support boxed commands, use it to greatly
reduce the number of parameters (and likelihood of getting
out of sync) when adjusting throttle parameters.
Signed-off-by: Eric Blake <firstname.lastname@example.org>
Reviewed-by: Alberto Garcia <email@example.com>
Reviewed-by: Markus Armbruster <firstname.lastname@example.org>
Signed-off-by: Markus Armbruster <email@example.com>
Anyway, given we don't support HMP in RHEL, it should be OK to close this BZ, but I'll let Eric review it once more.
Accidentally broken here:
Author: Kevin Wolf <firstname.lastname@example.org>
Date: Tue Sep 20 13:38:48 2016 +0200
block: Accept device model name for block_set_io_throttle
In order to remove the need for BlockBackend names in the external API,
we want to allow qdev device names in all device related commands.
This converts block_set_io_throttle to accept a qdev device name.
Signed-off-by: Kevin Wolf <email@example.com>
Agree that this does not affect RHEL, so there's nothing to backport, but I'll send the upstream patch to fix it, anyways.
I fail to understand what commit 4dc9397 intends doing. Since I am doing the io throttling test plan of RHEL7.4, could you give some explanation about the commit, should we add some related cases?
(In reply to Gu Nini from comment #5)
> Hi Eric,
> I fail to understand what commit 4dc9397 intends doing.
Commit 4dc9397 was an internal-only change (no semantic change to the user interface), designed to make parameter passing less of a maintenance burden by bundling multiple parameters into a struct. The bug in question was introduced in commit 7a9877a, but even that affected only HMP, which is not supported in RHEL.
> Since I am doing the
> io throttling test plan of RHEL7.4, could you give some explanation about
> the commit, should we add some related cases?
As far as I can tell, there are no changes required to RHEL testing based on this bug.