1. 18 9月, 2014 2 次提交
    • M
      qemu: Honor hugepages for UMA domains · 281f7001
      Michal Privoznik 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1135396
      
      There are two ways how to tell qemu to use huge pages. The first one
      is suitable for domains with NUMA nodes: the path to hugetlbfs mount
      is appended to NUMA node definition on the command line. The second
      one is suitable for UMA domains: here there's this global '-mem-path'
      argument that accepts path to the hugetlbfs mount point. However, the
      latter case was not used for all the cases that it should be. For
      instance:
      
        <memoryBacking>
          <hugepages>
            <page size='2048' unit='KiB' nodeset='0'/>
          </hugepages>
        </memoryBacking>
      
      didn't trigger the '-mem-path' so the huge pages - despite being
      configured - were not used at all.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      281f7001
    • M
      conf: Disallow nonexistent NUMA nodes for hugepages · ec982f6d
      Michal Privoznik 提交于
      As of 136ad497 it is possible to specify different huge pages per
      guest NUMA node. However, there's no check if nodeset specified in
      ./hugepages/page contains only those guest NUMA nodes that exist.
      In other words with current code it is possible to define meaningless
      combination:
      
        <memoryBacking>
          <hugepages>
            <page size='1048576' unit='KiB' nodeset='0,2-3'/>
            <page size='2048' unit='KiB' nodeset='1,4'/>
          </hugepages>
        </memoryBacking>
        <vcpu placement='static'>4</vcpu>
        <cpu>
          <numa>
            <cell id='0' cpus='0' memory='1048576'/>
            <cell id='1' cpus='1' memory='1048576'/>
            <cell id='2' cpus='2' memory='1048576'/>
            <cell id='3' cpus='3' memory='1048576'/>
          </numa>
        </cpu>
      
      Notice the node 4 in <hugepages/>?
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      ec982f6d
  2. 17 9月, 2014 1 次提交
  3. 16 9月, 2014 1 次提交
  4. 10 9月, 2014 1 次提交
    • M
      qemu: Implement extended loader and nvram · 54289916
      Michal Privoznik 提交于
      QEMU now supports UEFI with the following command line:
      
        -drive file=/usr/share/OVMF/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on \
        -drive file=/usr/share/OVMF/OVMF_VARS.fd,if=pflash,format=raw,unit=1 \
      
      where the first line reflects <loader> and the second one <nvram>.
      Moreover, these two lines obsolete the -bios argument.
      
      Note that UEFI is unusable without ACPI. This is handled properly now.
      Among with this extension, the variable file is expected to be
      writable and hence we need security drivers to label it.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      Acked-by: NLaszlo Ersek <lersek@redhat.com>
      54289916
  5. 29 8月, 2014 2 次提交
    • J
      qemu: Allow use of iothreads for disk definitions · ef8da2ad
      John Ferlan 提交于
      For virtio-blk-pci disks with the disk iothread attribute that are
      running the correct emulator, add the "iothread=iothread#" to the
      -device command line in order to enable iothreads for the disk as
      long as the command is available, the disk iothread value provided is
      valid, and is supported for the disk device being added
      ef8da2ad
    • J
      qemu: Add support for iothreads · 72edaae7
      John Ferlan 提交于
      Add a new capability to ensure the iothreads feature exists for the qemu
      emulator being run - requires the "query-iothreads" QMP command. Using the
      domain XML add correspoding command argument in order to generate the
      threads. The iothreads will use a name space "iothread#" where, the
      future patch to add support for using an iothread to a disk definition to
      merely define which of the available threads to use.
      
      Add tests to ensure the xml/argv processing is correct.  Note that no
      change was made to qemuargv2xmltest.c as processing the -object element
      would require knowing more than just iothreads.
      72edaae7
  6. 26 8月, 2014 1 次提交
  7. 25 8月, 2014 2 次提交
  8. 22 8月, 2014 1 次提交
    • E
      numatune: setting --mode does not work well · b9ff7393
      Erik Skultety 提交于
      When trying to set numatune mode directly using virsh numatune command,
      correct error is raised, however numatune structure was not deallocated,
      thus resulting in creating an empty numatune element in the guest XML,
      if none was present before. Running the same command aftewards results
      in a successful change with broken XML structure. Patch fixes the
      deallocation problem as well as checking for invalid attribute
      combination VIR_DOMAIN_NUMATUNE_PLACEMENT_AUTO + a nonempty nodeset.
      
      Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1129998
      b9ff7393
  9. 20 8月, 2014 1 次提交
    • R
      storage: make disk source pool translation generic · 8c170c9f
      Roman Bogorodskiy 提交于
      Currently, qemu driver uses qemuTranslateDiskSourcePool()
      to translate disk volume information. This function is
      general enough and could be used for other drivers as well,
      so move it to conf/domain_conf.c along with its helpers.
      
       - qemuTranslateDiskSourcePool: move to storage/storage_driver.c
         and rename to virStorageTranslateDiskSourcePool,
       - qemuAddISCSIPoolSourceHost: move to storage/storage_driver.c
         and rename to virStorageAddISCSIPoolSourceHost,
       - qemuTranslateDiskSourcePoolAuth: move to storage/storage_driver.c
         and rename to virStorageTranslateDiskSourcePoolAuth,
       - Update users of qemuTranslateDiskSourcePool to use a
         new name.
      8c170c9f
  10. 12 8月, 2014 1 次提交
  11. 08 8月, 2014 2 次提交
    • P
      e260a0e6
    • J
      hostdev: Add iSCSI hostdev XML · 54ac483e
      John Ferlan 提交于
      Introduce a new structure to handle an iSCSI host device based on the
      existing virDomainHostdevSubsysSCSI by adding a "protocol='iscsi'" to
      the <source/> element. The existing scsi_host subsystem RNG was modified
      to read an optional "protocol='adapter'", although it won't be written
      out nor is it documented as an option (by choice).
      
      The new hostdev structure mimics the existing <disk/> element for an
      iSCSI device (network) device. New XML is:
      
        <hostdev mode='subsystem' type='scsi' managed='yes'>
          <source protocol='iscsi' name='iqn.1992-01.com.example'>
            <host name='example.org' port='3260'/>
            <auth username='myname'>
              <secret type='iscsi' usage='mycluster_myname'/>
            </auth>
          </source>
          <address type='drive' controller='0' bus='0' target='2' unit='5'/>
        </hostdev>
      
      The controller element will mimic the existing scsi_host code insomuch
      as when 'lsi' and 'virtio-scsi' are used.
      54ac483e
  12. 29 7月, 2014 2 次提交
  13. 25 7月, 2014 1 次提交
  14. 17 7月, 2014 5 次提交
  15. 11 7月, 2014 1 次提交
  16. 02 7月, 2014 1 次提交
  17. 27 6月, 2014 1 次提交
  18. 23 6月, 2014 1 次提交
    • L
      qemu: parse -device virtio-balloon · ef016226
      Laine Stump 提交于
      There are no options to parse here other than the name of the device,
      and all three possible device names have the same prefix
      ("virtio-balloon" with "-ccw", "-pci", or "-device" appended), so the
      code is fairly simple. It has been implemented such that it will be
      easier to add handling for other -device entries that aren't otherwise
      recognized - just add another "else if (STRPREFIX(opts, ....)" clause.
      
      qemuParseCommandLineString() previously would always add a <memballoon
      model='virtio'/> to every result (the comments erroneously say that it
      is adding a <memballoon model='none'/>) This has been changed to add
      model='none', and 84 test case xml's updated accordingly (so that
      qemuxml2argvtest won't fail).
      
      Now that the memballoon device is properly parsed, we can safely add a
      test for properly ignoring -nodefconfig and -nodefaults. Rather than
      adding an entire new test case for this (and memballoon), we just
      randomly pick the clock-utc test and modify it slightly to fulfill the
      purpose.
      ef016226
  19. 17 6月, 2014 1 次提交
    • P
      uuid: Fix coverity warning of unchecked return value · 810eea71
      Peter Krempa 提交于
      Coverity checks for patterns of handling return values of functions.
      Some recent addition must have tripped a threshold where coverity now
      complains that we usually check the return value of virUUIDGenerate but
      don't do it in one place. Add a check to make coverity happy.
      810eea71
  20. 27 5月, 2014 1 次提交
  21. 07 5月, 2014 1 次提交
    • J
      Add support for timestamping QEMU logs · f3be5f0c
      Ján Tomko 提交于
      QEMU commit 5e2ac51 added a boolean '-msg timestamp=[on|off]'
      option, which can enable timestamps on errors:
      $ qemu-system-x86_64 -msg timestamp=on zghhdorf
      2014-04-09T13:25:46.779484Z qemu-system-x86_64: -msg timestamp=on: could
      not open disk image zghhdorf: Could not open 'zghhdorf': No such file or
      directory
      
      Enable this timestamp if the QEMU binary supports it.
      
      Add a 'log_timestamp' option to qemu.conf for disabling this behavior.
      f3be5f0c
  22. 06 5月, 2014 1 次提交
    • L
      qemu: specify domain in host-side PCI addresses when needed/supported · 1e947cf7
      Laine Stump 提交于
      This uses the new QEMU_CAPS_HOST_PCI_MULTIDOMAIN capability when
      present, for -devivce pci-assign, -device vfio-pci, and -pcidevice.
      
      While creating tests for this new functionality, I noticed that the
      xmls for two existing tests had erroneously specified an
      until-now-ignored domain="0x0002", so I corrected those two tests, and
      also added two failure tests to be sure that we alert users who
      attempt to use a non-zero domain with a qemu that doesn't support it.
      1e947cf7
  23. 03 5月, 2014 1 次提交
    • G
      qemuxml2argvtest: Don't use privileged mode upfront · 3cee4c05
      Guido Günther 提交于
      When building packages in a clean chroot the QEMU_USER and QEMU_GROUP
      don't exist making VirQemuDriverConfigNew fail with privileged=true.
      
      Avoid that by not requiring privileged mode upfront but setting it later
      so we skip the user/group existence check.
      
      This solution was suggested by Daniel P. Berrange and tested by Martin
      Kletzander.
      3cee4c05
  24. 25 4月, 2014 1 次提交
  25. 16 4月, 2014 1 次提交
    • E
      conf: fix omission of <driver> in domain dumpxml · 8fb44675
      Eric Blake 提交于
      I noticed that depending on the <driver> attributes the user passed
      in, the output may omit the <driver> element altogether.  For example,
      the rerror_policy has had this problem since commit 4bb4109f in Oct
      2011.  But in adding testsuite coverage to expose it, I found another
      problem: the C code is just fine without a driver name, but the
      XML validator required either a name or a cache mode.
      
      * src/conf/domain_conf.c (virDomainDiskDefFormat): Update
      conditional.
      * docs/schemas/domaincommon.rng (diskDriver): Simplify.
      * tests/qemuxml2argvdata/qemuxml2argv-disk-drive-copy-on-read.xml:
      * tests/qemuxml2argvdata/qemuxml2argv-disk-drive-copy-on-read.args:
      New files.
      * tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.xml:
      Enhance test.
      * tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-discard.xml:
      Likewise.
      * tests/qemuxml2argvtest.c (mymain): New test.
      * tests/qemuxml2xmltest.c (mymain): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      8fb44675
  26. 08 4月, 2014 1 次提交
  27. 26 3月, 2014 1 次提交
    • J
      Treat zero cpu shares as a valid value · bdffab0d
      Ján Tomko 提交于
      Currently, <cputune><shares>0</shares></cputune> is treated
      as if it were not specified.
      
      Treat is as a valid value if it was explicitly specified
      and write it to the cgroups.
      bdffab0d
  28. 25 3月, 2014 1 次提交
  29. 18 3月, 2014 1 次提交
  30. 15 3月, 2014 1 次提交
    • C
      qemu: XMLToNative: Don't show -S · e8400564
      Cole Robinson 提交于
      -S causes qemu to start in the paused state. Since XML2Native is intended
      to generate something that users can run directly, this will trip them up.
      e8400564
  31. 04 3月, 2014 1 次提交