Bug 1467811 - Guest OS will down when disk enable the IOMMU for virtio-scsi
Guest OS will down when disk enable the IOMMU for virtio-scsi
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: seabios (Show other bugs)
Unspecified Unspecified
high Severity high
: rc
: ---
Assigned To: jason wang
: ZStream
Depends On:
Blocks: 1482387
  Show dependency treegraph
Reported: 2017-07-05 04:28 EDT by Jingjing Shao
Modified: 2018-04-10 10:28 EDT (History)
15 users (show)

See Also:
Fixed In Version: seabios-1.10.2-4.el7
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1482387 (view as bug list)
Last Closed: 2018-04-10 10:26:48 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0814 None None None 2018-04-10 10:28 EDT

  None (edit)
Description Jingjing Shao 2017-07-05 04:28:35 EDT
Description of problem:
Guest OS will down when scsi controller enable the IOMMU for Virtio

Version-Release number of selected component (if applicable):
host kernel: 3.10.0-691.el7.x86_64
guest kernel : 3.10.0-691.el7.x86_64

How reproducible:

Steps to Reproduce:
1. In host, add "iommu=pt intel_iommu=on" to kernel line
2. Add "intel_iommu=on" to kernel line of  q35  guest
3. Add the xml as below in the guest 
    <ioapic driver='qemu'/>
   <iommu model='intel'>
      <driver intremap='on' iotlb='on'/>
4. Add the iommu='on' ats='on' to scsi controller and change the disk bus to scsi.
     <controller type='scsi' index='0' model='virtio-scsi'>
       <driver iommu='on' ats='on'/>
     <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none  iommu='on' ats='on'/>
      <source file='/nfs/rhel7.3-q35.qcow2'/>
      <target dev='vda' bus='scsi'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>

5. Start the guest and find the guest can not be accessed.

Actual results:
As the step 5 shows.

Expected results:
The guest can be accessed successfully

Additional info:
Comment 16 Wainer dos Santos Moschetta 2017-09-28 09:13:21 EDT
Fixed in seabios-1.10.2-4.el7
Comment 18 FuXiangChun 2017-11-28 02:24:16 EST
Reproduced bug with seabios-1.10.2-3.el7.x86_64 & qemu-kvm-rhev-2.10.0-7.el7.x86_64 & kernel-3.10.0-798.el7.x86_64

The guest OS will report  "No bootable device" 

Verified bug with seabios-1.11.0-1.el7.x86_64 & qemu-kvm-rhev-2.10.0-7.el7.x86_64 & kernel-3.10.0-798.el7.x86_64

Guest works well.


For q35
1. In host, add "iommu=pt intel_iommu=on" to kernel line
2. Add "intel_iommu=on" to kernel line of q35  guest
3. iommu_platform=on,ats=on to "-device virtio-blk-pci...."
4. key qemu command

-machine pc-q35-rhel7.5.0
-device virtio-scsi-pci,id=scsi0,bus=pci.3,addr=0x0 -device virtio-serial-pci,id=virtio-serial0,bus=pcie.0,addr=0x5 -drive file=/home/seabio-new-system-disk.qcow2,format=qcow2,if=none,id=drive-virtio-disk0 -device virtio-scsi-pci,bus=pci.4,addr=0x0,id=drive-virtio-disk01,id=virtio-disk0,iommu_platform=on,ats=on -device scsi-hd,drive=drive-virtio-disk0,bootindex=1

5. For pc
/usr/libexec/qemu-kvm -name guest=q35-seabios,debug-threads=on -machine pc -cpu SandyBridge,vmx=on -m 8192 -realtime mlock=off -smp 4,sockets=2,cores=2,threads=1 -drive file=/home/seabio-new-system-disk.qcow2,format=qcow2,if=none,id=drive-virtio-disk0 -device virtio-scsi-pci,id=drive-virtio-disk01,id=virtio-disk0,iommu_platform=on,ats=on,disable-legacy=on,disable-modern=off -device scsi-hd,drive=drive-virtio-disk0,bootindex=1 -vnc :2 -monitor stdio
Comment 21 errata-xmlrpc 2018-04-10 10:26:48 EDT
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.


Note You need to log in before you can comment on or make changes to this bug.