Bug 1234686 - need a address conflicts check for dimm address type
Summary: need a address conflicts check for dimm address type
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt
Version: 7.2
Hardware: x86_64
OS: Linux
low
low
Target Milestone: rc
: ---
Assignee: Libvirt Maintainers
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-06-23 03:27 UTC by Luyao Huang
Modified: 2015-11-19 06:41 UTC (History)
6 users (show)

Fixed In Version: libvirt-1.2.17-1.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-11-19 06:41:41 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:2202 0 normal SHIPPED_LIVE libvirt bug fix and enhancement update 2015-11-19 08:17:58 UTC

Description Luyao Huang 2015-06-23 03:27:43 UTC
Description of problem:
need a address conflicts check for dimm address type

Version-Release number of selected component (if applicable):
libvirt-1.2.16-1.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.prepare a vm have numa and MaxMemory settings:
# virsh dumpxml  rhel7.0
  <maxMemory slots='16' unit='KiB'>25600000</maxMemory>
  <memory unit='KiB'>1548288</memory>
  <currentMemory unit='KiB'>1548288</currentMemory>

  <cpu>
    <numa>
      <cell id='0' cpus='0-1' memory='512000' unit='KiB'/>
      <cell id='1' cpus='2-3' memory='512000' unit='KiB'/>
    </numa>
  </cpu>

2. attach a memory device twice which specified slot number
# cat memdevice2.xml
    <memory model='dimm'>
      <target>
        <size unit='m'>256</size>
        <node>0</node>
      </target>
<address type='dimm' slot='2' base='0x0'/>
    </memory>

# virsh attach-device rhel7.0 memdevice2.xml
Device attached successfully

# virsh attach-device rhel7.0 memdevice2.xml
error: Failed to attach device from memdevice2.xml
error: internal error: unable to execute QEMU command 'device_add': slot 2 is busy

3.


Actual results:
in step 2 libvirt do not check if the slot is already been used by other address

Expected results:
report error more earlier to point out the address conflict from libvirt side

Additional info:

Upstream patch:

commit cb7e13ffbf114d16db26be755838e1f455f3392f
Author: Luyao Huang <lhuang@redhat.com>
Date:   Mon Jun 15 20:33:49 2015 +0800

    qemu: Add a check for slot and base dimm address conflicts

v1.2.16-209-gcb7e13f

Comment 2 Shanzhi Yu 2015-07-13 09:37:13 UTC
Verify this bug with libvirt-1.2.17-2.el7.x86_64


1. Prepare running guest, with same configuration as in comment 0.

2. Do twice memory device attach

# virsh attach-device r7 mem.xml 
Device attached successfully


# virsh attach-device r7 mem.xml 
error: Failed to attach device from mem.xml
error: unsupported configuration: memory device slot '2' is already being used by another memory device

So the error is exactly what commit cb7e13 add.

Comment 4 errata-xmlrpc 2015-11-19 06:41:41 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://rhn.redhat.com/errata/RHBA-2015-2202.html


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