Bug 1862059
Summary: | [ppc64le] 'sPAPR VSCSI' interface disk attachment is not seen from the guest | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux Advanced Virtualization | Reporter: | Ilan Zuckerman <izuckerm> | ||||
Component: | qemu-kvm | Assignee: | Daniel Henrique Barboza (IBM) <dbarboza> | ||||
qemu-kvm sub component: | Devices | QA Contact: | Xujun Ma <xuma> | ||||
Status: | CLOSED ERRATA | Docs Contact: | |||||
Severity: | high | ||||||
Priority: | medium | CC: | aefrat, dbarboza, ddepaula, dgibson, jinzhao, juzhang, mrezanin, ngu, pkrempa, qzhang, virt-maint, xuma | ||||
Version: | 8.2 | Keywords: | Triaged | ||||
Target Milestone: | rc | ||||||
Target Release: | 8.4 | ||||||
Hardware: | ppc64le | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | qemu-kvm-5.2.0-0.module+el8.4.0+8855+a9e237a9 | Doc Type: | If docs needed, set a value | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2021-05-25 06:42:26 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: | 1801710, 1862035 | ||||||
Attachments: |
|
Description
Ilan Zuckerman
2020-07-30 10:16:45 UTC
Note that the spapr vscsi adapter doesn't support hotplug: https://bugzilla.redhat.com/show_bug.cgi?id=1192355 (In reply to Peter Krempa from comment #1) > Note that the spapr vscsi adapter doesn't support hotplug: > https://bugzilla.redhat.com/show_bug.cgi?id=1192355 Hi Peter, This bug was opened for RHEL7. Is the another for tracking also in RHEL8 or somewhere in RHEL8 release note as well ? I'm not sure what the solution will be at this time. I've just pointed out that it's a known problem for now. I'm leaving this bug open and untriaged. Updating steps to reproduce: Steps to Reproduce: 1. On PPC env, create rhel8 vm from template 2. Create sPAPR VSCSI disk and HOT PLUG it to the vm (state = started) As Peter notes, the spapr vscsi interface does not support hotplug (in fact it was only really ever designed to support a single disk per interface instance). There's not really anything we can do about that at the qemu or kernel levels. Peter, does libvirt have any way of flagging a particular bridge model as not supporting hotplug, so it's less surprising to the user? Not really anything systematic. Obviously we could add ad-hoc code for this into the hotplug code path. That's the reason I didn't close the bug. Obviously one would expect that if qemu doesn't support hotplug of a particular device it would report an error. When hotplug a spapr-vscsi controller, will report a error as following: {'execute': 'device_add', 'arguments': {'driver': 'spapr-vscsi'}} {"error": {"class": "GenericError", "desc": "Bus 'spapr-vio' does not support hotplugging"}} (In reply to Xujun Ma from comment #7) > When hotplug a spapr-vscsi controller, will report a error as following: > {'execute': 'device_add', 'arguments': {'driver': 'spapr-vscsi'}} > {"error": {"class": "GenericError", "desc": "Bus 'spapr-vio' does not > support hotplugging"}} The above error should be from qemu-kvm level. Xujun, that error is from attempting to hot-plug a whole spapr-vscsi controller. That's also not supported, but that's not the case this bug is talking about. Here we're talking aboud hotplugging a single disk ('scsi-hd' device) onto an existing spapr-vscsi controller. We need to check if that's returning an error, and if not see if we can make it generate one. (In reply to David Gibson from comment #9) > Xujun, that error is from attempting to hot-plug a whole spapr-vscsi > controller. That's also not supported, but that's not the case this bug is > talking about. Here we're talking aboud hotplugging a single disk > ('scsi-hd' device) onto an existing spapr-vscsi controller. > > We need to check if that's returning an error, and if not see if we can make > it generate one. Hi David, I tried again.I find there is no error message when hotplug one scsi-hd device onto a spar-vscsi controller. I can find it with "info block" command but can't find this scsi-hd device in guest.I can find it after rebooting guest. The scsi-hd device actually was hotpluged onto spapr-vscsi,but just kernel can't support hotpluging this device. The issue is that we are not invalidating (setting to NULL) the hotplug_handler of the spapr_vscsi device, making qdev believe that this is a regular SCSI bus that supports hotplug. The device is added to qdev, but is unusable to the guest unless you reboot the guest OS. A fix was posted here: https://lists.gnu.org/archive/html/qemu-devel/2020-08/msg04906.html Moving to qemu-kvm per the above coment. It doesn't feel worth it duplicating the check in libvirt. Fix is now merged upstream, so we should get it via rebase. Have tested this case with qemu-kvm-5.2.0-0.module+el8.4.0+8855+a9e237a9,now displays "Error: Bus 'a.0' does not support hotplugging" if hotplug a scsi-hd device to spapr-vscsi. So base the test result above,the bug has been fixed. Base on the test result of comment 15,the bug has been fixed.set it to verified. 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 (virt:av bug fix and enhancement update), 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/RHBA-2021:2098 |