Bug 1751431

Summary: "guest-get-memory-block-info" is enabled but in fact it is not currently supported
Product: Red Hat Enterprise Linux 8 Reporter: xiagao
Component: virtio-winAssignee: Basil Salman <bsalman>
virtio-win sub component: qemu-ga-win QA Contact: xiagao
Status: CLOSED ERRATA Docs Contact:
Severity: unspecified    
Priority: medium CC: ailan, bsalman, kanderso, knoel, lijin
Version: 8.2   
Target Milestone: rc   
Target Release: 8.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1779884 (view as bug list) Environment:
Last Closed: 2020-02-04 12:27:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1779884    

Description xiagao 2019-09-12 01:33:25 UTC
Description of problem:
as $summary

Version-Release number of selected component (if applicable):
mingw-qemu-ga-win-100.0.0.0-3.el7ev

How reproducible:
100%

Steps to Reproduce:
1.boot win2019 guest with qemu-ga-win msi installed

2.issue guest-info cmd from host
# nc -U /tmp/helloworld2
{"execute":"guest-info"}
{"return": {"version": "100.0.0", "supported_commands": [
......
{"enabled": true, "name": "guest-get-memory-block-info", "success-response": true}, 
{"enabled": false, "name": "guest-set-memory-blocks", "success-response": true}, 
{"enabled": false, "name": "guest-get-memory-blocks", "success-response": true}, 
......


3.Since "guest-get-memory-block-info" is enabled, issue "guest-get-memory-block-info" cmd.
{"execute":"guest-get-memory-block-info"}
{"error": {"class": "GenericError", "desc": "this feature or command is not currently supported"}}

Expected results:
"guest-get-memory-block-info" should be disabled like "guest-get-memory-blocks" if it's not currently supported.

Additional info:
{"execute":"guest-info"}
{"return": {"version": "100.0.0", "supported_commands": [
{"enabled": true, "name": "guest-get-osinfo", "success-response": true}, 
{"enabled": true, "name": "guest-get-timezone", "success-response": true}, 
{"enabled": true, "name": "guest-get-users", "success-response": true}, 
{"enabled": true, "name": "guest-get-host-name", "success-response": true}, 
{"enabled": true, "name": "guest-exec", "success-response": true}, 
{"enabled": true, "name": "guest-exec-status", "success-response": true}, 
{"enabled": true, "name": "guest-get-memory-block-info", "success-response": true}, 
{"enabled": false, "name": "guest-set-memory-blocks", "success-response": true}, 
{"enabled": false, "name": "guest-get-memory-blocks", "success-response": true}, 
{"enabled": true, "name": "guest-set-user-password", "success-response": true}, 
{"enabled": true, "name": "guest-get-fsinfo", "success-response": true}, 
{"enabled": false, "name": "guest-set-vcpus", "success-response": true}, 
{"enabled": true, "name": "guest-get-vcpus", "success-response": true}, 
{"enabled": true, "name": "guest-network-get-interfaces", "success-response": true}, 
{"enabled": false, "name": "guest-suspend-hybrid", "success-response": false}, 
{"enabled": true, "name": "guest-suspend-ram", "success-response": false}, 
{"enabled": true, "name": "guest-suspend-disk", "success-response": false}, 
{"enabled": true, "name": "guest-fstrim", "success-response": true}, 
{"enabled": true, "name": "guest-fsfreeze-thaw", "success-response": true}, 
{"enabled": true, "name": "guest-fsfreeze-freeze-list", "success-response": true}, 
{"enabled": true, "name": "guest-fsfreeze-freeze", "success-response": true}, 
{"enabled": true, "name": "guest-fsfreeze-status", "success-response": true}, 
{"enabled": true, "name": "guest-file-flush", "success-response": true}, 
{"enabled": true, "name": "guest-file-seek", "success-response": true}, 
{"enabled": true, "name": "guest-file-write", "success-response": true}, 
{"enabled": true, "name": "guest-file-read", "success-response": true}, 
{"enabled": true, "name": "guest-file-close", "success-response": true}, 
{"enabled": true, "name": "guest-file-open", "success-response": true}, 
{"enabled": true, "name": "guest-shutdown", "success-response": false}, 
{"enabled": true, "name": "guest-info", "success-response": true}, 
{"enabled": true, "name": "guest-set-time", "success-response": true}, 
{"enabled": true, "name": "guest-get-time", "success-response": true}, 
{"enabled": true, "name": "guest-ping", "success-response": true}, 
{"enabled": true, "name": "guest-sync", "success-response": true}, 
{"enabled": true, "name": "guest-sync-delimited", "success-response": true}
]}}

Comment 1 Basil Salman 2019-10-27 11:51:04 UTC
"guest-get-memory-block-info" command was added to blacklist for Windows systems and Linux system that don't use sysfs,
since this command is not supported for such systems and will be shown as disabled for these systems.

sent patches to qemu-devel:
https://lists.nongnu.org/archive/html/qemu-devel/2019-10/msg04112.html

Comment 2 Basil Salman 2019-10-31 13:20:58 UTC
The build with the fix:
https://brewweb.engineering.redhat.com/brew/buildinfo?buildID=995415

Comment 5 xiagao 2019-11-06 04:45:32 UTC
Test with mingw-qemu-ga-win-101.0.0.0-3.el7ev, "guest-set-memory-blocks" command is disabled.
...
 {"enabled": false, "name": "guest-set-memory-blocks", "success-response": true}, 
 {"enabled": false, "name": "guest-get-memory-blocks", "success-response": true}, 
 {"enabled": true, "name": "guest-set-user-password", "success-response": true}, 

...

So change status to verified.

Comment 6 xiagao 2019-11-06 04:50:50 UTC
(In reply to Basil Salman from comment #1)
> "guest-get-memory-block-info" command was added to blacklist for Windows
> systems and Linux system that don't use sysfs,

Basil Salman, hi

To avoid some mistake, I want to confirm with you something,you mean to disable "guest-get-memory-block-info" command for both linux system and windows system?
As far as I know,"guest-get-memory-block-info" command is supported for linux guest.


> since this command is not supported for such systems and will be shown as
> disabled for these systems.
> 
> sent patches to qemu-devel:
> https://lists.nongnu.org/archive/html/qemu-devel/2019-10/msg04112.html

Comment 7 Basil Salman 2019-11-07 09:45:03 UTC
(In reply to xiagao from comment #6)
> (In reply to Basil Salman from comment #1)
> > "guest-get-memory-block-info" command was added to blacklist for Windows
> > systems and Linux system that don't use sysfs,
Hi,

"guest-get-memory-block-info" was disabled for Windows guests and for Linux systems that do not use sysfs specifically.
in this case it was not disabled for all linux guests, but only for Linux guests that don't support it.
according to Qemu-ga code in upstream this type of Linux guests does not support "guest-get-memory-block-info" command in addition to some other commands
that require sysfs.

> Basil Salman, hi
> 
> To avoid some mistake, I want to confirm with you something,you mean to
> disable "guest-get-memory-block-info" command for both linux system and
> windows system?
> As far as I know,"guest-get-memory-block-info" command is supported for
> linux guest.
> 
> 
> > since this command is not supported for such systems and will be shown as
> > disabled for these systems.
> > 
> > sent patches to qemu-devel:
> > https://lists.nongnu.org/archive/html/qemu-devel/2019-10/msg04112.html

Comment 10 errata-xmlrpc 2020-02-04 12:27:28 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2020:0351