Comment 12 for bug 1734856

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

It was still working with 20 disks and boot index, but 48 made it.
Thanks Nikunj for the bood index hint.

Overall testcase:
# Prep a guest
$ uvt-simplestreams-libvirt --verbose sync --source http://cloud-images.ubuntu.com/daily arch=ppc64el label=daily release=bionic
$ uvt-kvm create --password=ubuntu bionic-testguest release=bionic arch=ppc64el label=daily

Use `virsh edit bionic-testguest` to do the following three steps:
1. Remove in the os section
  <boot dev='hd'/>

2. Add this on your former primary disk:
  <boot order='1'/>

3. And then add the xml content generated with:
$ echo "" > disk.xml;
$ for i in {1..24}; do
  h=$(printf "\x$(printf %x $((98+$i)))")
  echo "<disk type='file' device='disk'><driver name='qemu' type='qcow2'/><source file='/var/lib/uvtool/libvirt/images/cpaelzer-bionic-t$i.qcow'/><alias name='virtio-disk0'/><target dev='vd$h' bus='virtio'/><boot order='$((i+1))'/></disk>" >> disk.xml
  qemu-img create -f qcow2 /var/lib/uvtool/libvirt/images/cpaelzer-bionic-t$i.qcow 1M
  echo "<disk type='file' device='disk'><driver name='qemu' type='qcow2'/><source file='/var/lib/uvtool/libvirt/images/cpaelzer-bionic-tb$i.qcow'/><alias name='virtio-disk0'/><target dev='vdb$h' bus='virtio'/><boot order='$((i+24+1))'/></disk>" >> disk.xml
  qemu-img create -f qcow2 /var/lib/uvtool/libvirt/images/cpaelzer-bionic-tb$i.qcow 1M
done

That makes up for 48 extra disks and the two base devices.
Then run it into console to trigger the bug:

$ virsh start --console artful-testguest
( 300 ) Data Storage Exception [ 1dc4a018 ]

    R0 .. R7 R8 .. R15 R16 .. R23 R24 .. R31
000000001dbe2544 000000001e462008 0000000000000000 000000001dc04c00
000000001e665ff0 000000001dc5e248 0000000000000000 000000001dc09268
000000001dc0ed00 000000001dc4a010 0000000000000000 0000000000000003
0000000000000054 000000001e6663f5 0000000000000000 000000000000f001
000000001dc5e1c0 000000000000005b 000000001dc09438 ffffffffffffffff
000000001dc4a018 0000000000000000 0000000000008000 000000001e462010
000000001dc4a018 0000000000000000 000000000000f003 000000001dbe46d4
000000001e462010 0000000000000000 0000000000000006 4038303030303030

    CR / XER LR / CTR SRR0 / SRR1 DAR / DSISR
        80000404 000000001dbe4ec0 000000001dbe4700 4038303030303030
0000000020000000 000000001dbe46d4 8000000000001000 40000000

That error was reproducible on several restarts.
Then I installed the PPA and rerun it which now worked to be a successful boot again.

Prepping SRU Template with that info.