diskless virtio-scsi-ccw controller triggers an error

Bug #1806823 reported by Christian Ehrhardt 
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu on IBM z Systems
Fix Released
Medium
bugproxy
qemu (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

The example starts with a basic call to run an image (it doesn't matter which image)

$ sudo qemu-system-s390x -enable-kvm -cpu host -nographic -m 512 -hda ubuntu-18.04-server-cloudimg-s390x.img
LOADPARM=[........]
Using virtio-blk.
Using SCSI scheme.
....
[ 0.451611] Linux version 4.15.0-42-generic (buildd@bos02-s390x-018) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #45-Ubuntu SMP Thu Nov 15 19:29:11 UTC 2018 (Ubuntu 4.15.0-42.45-generic 4.15.18)
[ 0.451617] setup.289988: Linux is running under KVM in 64-bit mode

Adding an empty virtio-scsi-ccw breaks it (different than x86)

$ sudo qemu-system-s390x -enable-kvm -cpu host -nographic -m 512 -hda ubuntu-18.04-server-cloudimg-s390x.img -device virtio-scsi-ccw,id=virtio-scsi-test
LOADPARM=[........]
Using virtio-scsi.
! Cannot locate virtio-scsi device !

It seems to be the bootloader code insisting on a device to scan, since skipping bootloader makes it work

$ sudo qemu-system-s390x -enable-kvm -cpu host -nographic -m 512 -hda ubuntu-18.04-server-cloudimg-s390x.img -device virtio-scsi-ccw,id=virtio-scsi-test -kernel /boot/vmlinuz-4.15.0-42-generic -initrd /boot/initrd.img-4.15.0-42-generic
[ 0.475643] Linux version 4.15.0-42-generic (buildd@bos02-s390x-018) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #45-Ubuntu SMP Thu Nov 15 19:29:11 UTC 2018 (Ubuntu 4.15.0-42.45-generic 4.15.18)
[ 0.475649] setup.289988: Linux is running under KVM in 64-bit mode

Those are just examples, but it seems you can add a disk-less virtio-scsi-ccw to any to make it break.
We wondered about two things:
- the behavior is different than with virtio-scsi-pci
- one use case could want add a virtio-scsi-ccw with some explicit config to later hot-add devices right?

All of this could as well be intentional, but I wanted to report it in case it is a bug for you as well.

Thanks @Rharper for finding and mentioning it

Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
assignee: nobody → bugproxy (bugproxy)
tags: added: reverse-proxy-bugzilla s390x
Changed in ubuntu-z-systems:
status: New → Triaged
bugproxy (bugproxy)
tags: added: architecture-s39064 bugnameltc-173834 severity-high targetmilestone-inin1804
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2019-01-09 04:03 EDT-------
This is certainly something where we can improve the heuristics to guess the right boot device, but it is low priority and severity. It will not happen with libivrt and it will not happen when the user specifies a boot priority.
Reducing severity.

tags: added: severity-medium
removed: severity-high
Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
importance: Undecided → Medium
Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: Triaged → Confirmed
Revision history for this message
Frank Heimes (fheimes) wrote :

Setting to Incomplete for now until it gets addressed.

Changed in ubuntu-z-systems:
status: Confirmed → Incomplete
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

@christian please open an upstream bug report about this?

Changed in qemu (Ubuntu):
status: New → Incomplete
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Hi xnox,
this is IBM owned code, so by mirroring it to them (which already happened quite a while ago) it is where it needs to be. IMHO there is no need to also track a bugzilla on it without further gain.

But as you see in comment #1 it is low prio for them, so nothing happened yet.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for qemu (Ubuntu) because there has been no activity for 60 days.]

Changed in qemu (Ubuntu):
status: Incomplete → Expired
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2020-10-07 01:53 EDT-------
this is fixed by the following series:

https://<email address hidden>/

Frank Heimes (fheimes)
tags: added: qemu-21.04
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Thank you Thomas and Frank - yeah pulling this in in 21.04 then

Changed in qemu (Ubuntu):
status: Expired → Triaged
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2020-10-08 09:34 EDT-------
Patch set is upstream.
https://git.qemu.org/?p=qemu.git;a=commit;h=6eeea6725a70e6fcb5abba0764496bdab07ddfb3

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Thanks - This is upstream and will be in qemu v5.2 and therefore revisited when we merge that (December/January).

Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2021-01-27 04:27 EDT-------
@Canonical, any update available?

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Hi Heinz, sorry 5.2 is merged in Hirsute already for a while, missed this bug in the update mania.

Changed in qemu (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

IMHO - the case isn't common and thereby not too important for an SRU. But I'm open to be convinced otherwise if you think it should go to Focal/Groovy as well.
If you want to do so I'd recommend outlining a use-case which isn't a corner case, and usually will be affected by it.
So far only the full series was outlined, for the SRU - as usual - we'd want to limit the changes to just what is needed for that - it would help if you could point to the smallest subset achieving that.

Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: Incomplete → Fix Released
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2021-02-12 03:26 EDT-------
IBM Bugzilla status->closed, Fix Release with hirsuite

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.