Bug 1808400 - [RHEL-AV-8.2 libvirt] can't start two guests with passthrough of an iscsi lun with "shareable" element
Summary: [RHEL-AV-8.2 libvirt] can't start two guests with passthrough of an iscsi lun...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: libvirt
Version: 8.2
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: 8.2
Assignee: Andrea Bolognani
QA Contact: gaojianan
URL:
Whiteboard:
Depends On: 1808390
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-02-28 12:08 UTC by Andrea Bolognani
Modified: 2020-11-19 08:15 UTC (History)
8 users (show)

Fixed In Version: libvirt-6.0.0-9.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-05 09:57:51 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2020:2017 0 None None None 2020-05-05 09:58:51 UTC

Description Andrea Bolognani 2020-02-28 12:08:35 UTC
This bug was initially created as a copy of Bug #1801139

I am copying this bug because: 

  The bug has been addressed in RHEL 7.8 with downstream-only patch

    libvirt-RHEL-qemuCheckUnprivSGIO-use-sysfs_path-to-get-unpriv_sgio.patch

  but this patch is absent from RHEL AV 8.2, which means someone
  moving from the former to the latter will see a regression.

Description of problem:
As subject

Version-Release number of selected component (if applicable):
libvirt-4.5.0-32.virtcov.el7.x86_64
qemu-kvm-rhev-2.12.0-44.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Prepare an iscsi server and login the target in the host
# iscsiadm -m session
tcp: [1] 10.66.85.243:3260,1 iqn.2015-01.com.fred:444 (non-flash)
tcp: [2] 10.66.85.243:3260,1 iqn.2016-03.com.virttest:logical-pool.target6 (non-flash)

# lsscsi
...
[5:0:0:0]    disk    LIO-ORG  device.logical-  4.0   /dev/sdc 

2.Passthrough the disk to two guests
For the 1st :
# cat attach.xml 
<hostdev managed="no" mode="subsystem" type="scsi">
<source>
<adapter name="scsi_host5" />
<address bus="0" target="0" unit="0" />
</source>
<shareable/>             --------------with shareable
</hostdev>

# virsh attach-device vm2 attach.xml                                                                                                                                                                         
Device attached successfully

For the 2nd with the same xml:
# virsh attach-device avocado-vt-vm1 attach.xml
error: Failed to attach device from attach.xml
error: Failed to read file '/dev/sdc': Value too large for defined data type

3.In the 2nd guest,you can also hit the issue by:
# virsh attach-device avocado-vt-vm1 attach.xml --config
Device attached successfully

# virsh start avocado-vt-vm1
error: Failed to start domain avocado-vt-vm1
error: Failed to read file '/dev/sdc': Value too large for defined data type

Actual results:
As step 2 and 3

Expected results:
The 2nd guest should be started without error

Additional info:

Comment 9 gaojianan 2020-03-12 08:13:12 UTC
Verified on:
libvirt-6.0.0-9.virtcov.el8.x86_64

Sc1:hot-plug the device to two guests
1.Prepare an iscsi server and login the target in the host
# iscsiadm -m session
tcp: [2] 10.66.85.243:3260,1 iqn.2016-03.com.virttest:logical-pool.target6 (non-flash)

# lsscsi
...
[10:0:0:0]    disk    LIO-ORG  device.logical-  4.0   /dev/sdc 

2.Passthrough the disk to two guests
For the 1st :
# cat attach.xml 
<hostdev managed="no" mode="subsystem" type="scsi">
<source>
<adapter name="scsi_host10" />
<address bus="0" target="0" unit="0" />
</source>
<shareable/>             --------------with shareable
</hostdev>

# virsh attach-device test1 attach.xml 
Device attached successfully

For the 2nd with the same xml:
# virsh attach-device avocado-vt-vm1 attach.xml 
Device attached successfully

Login the guest ,the disk works well

Sc2:cold-plug the device to two guests:
# virsh attach-device test1 attach.xml --config 
Device attached successfully

# virsh attach-device avocado-vt-vm1 attach.xml --config 
Device attached successfully

# virsh start test1
Domain test1 started

# virsh start avocado-vt-vm1 
Domain avocado-vt-vm1 started

Check the domain xml:
# virsh dumpxml test1 --inactive|grep hostdev -A5
    <hostdev mode='subsystem' type='scsi' managed='no'>
      <source>
        <adapter name='scsi_host10'/>
        <address bus='0' target='0' unit='0'/>
      </source>
      <shareable/>

 <hostdev mode='subsystem' type='scsi' managed='no'>
      <source>
        <adapter name='scsi_host10'/>
        <address bus='0' target='0' unit='0'/>
      </source>
      <shareable/>
--
    </hostdev>



Work as expected

Comment 11 errata-xmlrpc 2020-05-05 09:57:51 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/RHBA-2020:2017


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