1. 30 3月, 2014 3 次提交
    • D
      ESX: Add support for virtualHW version 10 · 5cc3cce5
      Dawid Zamirski 提交于
      This follows the same pattern when v8 and v9 were added. I've tested
      this with my ESX 5.5 and seems to work fine.
      5cc3cce5
    • M
      Prohibit Windows special chars in filenames · 8f21ae70
      Matthias Bolte 提交于
      Using any of these chars [:*?"<>|] in a filename is forbidden on
      Windows and breaks git operations on Windows as git is not able
      to create those files/directories on clone or pull.
      
      Because some of them can be used in UNIX filenames they tend to
      creep into filenames; especially : in PCI/SCSI device names that
      are used as filenames in test cases.
      8f21ae70
    • M
      tests: Fix SCSI test data filenames for Windows · d20539a4
      Matthias Bolte 提交于
      Windows doesn't allow : in filenames.
      
      Commit 6fdece9a added files with a : in
      their names. This broke git operations on Windows as git is not able to
      create those files on clone or pull.
      
      Replace : with - in the offending filenames and adapt the test case.
      As the tested Linux specific code expects the files to exist with : in
      their path use symlinks to provide the name that way.
      d20539a4
  2. 29 3月, 2014 1 次提交
  3. 28 3月, 2014 2 次提交
  4. 27 3月, 2014 10 次提交
    • C
      Fix apparmor profile to make vfio pci passthrough work · 74e86b6b
      Cédric Bosdonnat 提交于
      See lp#1276719 for the bug description. As virt-aa-helper doesn't know
      the VFIO groups to use for the guest, allow access to all
      /dev/vfio/[0-9]* and /dev/vfio/vfio files if there is a potential need
      for vfio
      Signed-off-by: NEric Blake <eblake@redhat.com>
      74e86b6b
    • C
    • N
      Fix Memory Leak in virQEMUCapsInitGuestFromBinary() · faad5582
      Nehal J Wani 提交于
      While running qemucaps2xmltest, it was found that valgrind pointed out
      the following memory leaks:
      
      ==29896== 0 bytes in 1 blocks are definitely lost in loss record 1 of 65
      ==29896==    at 0x4A0577B: calloc (vg_replace_malloc.c:593)
      ==29896==    by 0x4C6B45E: virAllocN (viralloc.c:191)
      ==29896==    by 0x4232A9: virQEMUCapsGetMachineTypesCaps (qemu_capabilities.c:1999)
      ==29896==    by 0x4234E7: virQEMUCapsInitGuestFromBinary (qemu_capabilities.c:789)
      ==29896==    by 0x41F10B: testQemuCapsXML (qemucaps2xmltest.c:118)
      ==29896==    by 0x41FFD1: virtTestRun (testutils.c:201)
      ==29896==    by 0x41EE7A: mymain (qemucaps2xmltest.c:203)
      ==29896==    by 0x42074D: virtTestMain (testutils.c:789)
      ==29896==    by 0x3E6CE1ED1C: (below main) (libc-start.c:226)
      ==29896==
      ==29896== 0 bytes in 1 blocks are definitely lost in loss record 2 of 65
      ==29896==    at 0x4A0577B: calloc (vg_replace_malloc.c:593)
      ==29896==    by 0x4C6B45E: virAllocN (viralloc.c:191)
      ==29896==    by 0x4232A9: virQEMUCapsGetMachineTypesCaps (qemu_capabilities.c:1999)
      ==29896==    by 0x4234E7: virQEMUCapsInitGuestFromBinary (qemu_capabilities.c:789)
      ==29896==    by 0x41F10B: testQemuCapsXML (qemucaps2xmltest.c:118)
      ==29896==    by 0x41FFD1: virtTestRun (testutils.c:201)
      ==29896==    by 0x41EEA3: mymain (qemucaps2xmltest.c:204)
      ==29896==    by 0x42074D: virtTestMain (testutils.c:789)
      ==29896==    by 0x3E6CE1ED1C: (below main) (libc-start.c:226)
      Signed-off-by: NEric Blake <eblake@redhat.com>
      faad5582
    • H
      util: fix a typo in virprocess.c and docs · b2ed4f68
      Hongwei Bi 提交于
      s/forcably/forcibly
      Signed-off-by: NHongwei Bi <hwbi2008@gmail.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      b2ed4f68
    • L
      Modify help information of virsh list command · 09bfe110
      Li Yang 提交于
      Use 'virsh list domain --title' option can get domain's title,
      not description, the original help information 'show short
      domain description' will confuse users, so modify it to
      'show domain title'
      Signed-off-by: NLi Yang <liyang.fnst@cn.fujitsu.com>
      09bfe110
    • J
      docs: cgroups: fix typo about LXC cgroups · 03c96787
      Jean-Baptiste Rouault 提交于
      03c96787
    • W
      bhyve: add domainLookupByID · 8433de2e
      Wojciech Macek 提交于
      Implement domain lookup by its ID.
      8433de2e
    • N
      Fix memory leak in testGetCaps() · 4154c4e9
      Nehal J Wani 提交于
      While running qemucaps2xmltest, it was found that valgrind pointed out
      the following memory leaks:
      
      ==27045== 160 (112 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 51 of 65
      ==27045==    at 0x4A0577B: calloc (vg_replace_malloc.c:593)
      ==27045==    by 0x4C6BACD: virAllocVar (viralloc.c:560)
      ==27045==    by 0x4CAF095: virObjectNew (virobject.c:193)
      ==27045==    by 0x421453: virQEMUCapsNew (qemu_capabilities.c:1805)
      ==27045==    by 0x41F04F: testQemuCapsXML (qemucaps2xmltest.c:72)
      ==27045==    by 0x41FFD1: virtTestRun (testutils.c:201)
      ==27045==    by 0x41EE7A: mymain (qemucaps2xmltest.c:203)
      ==27045==    by 0x42074D: virtTestMain (testutils.c:789)
      ==27045==    by 0x3E6CE1ED1C: (below main) (libc-start.c:226)
      ==27045==
      ==27045== 160 (112 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 52 of 65
      ==27045==    at 0x4A0577B: calloc (vg_replace_malloc.c:593)
      ==27045==    by 0x4C6BACD: virAllocVar (viralloc.c:560)
      ==27045==    by 0x4CAF095: virObjectNew (virobject.c:193)
      ==27045==    by 0x421453: virQEMUCapsNew (qemu_capabilities.c:1805)
      ==27045==    by 0x41F04F: testQemuCapsXML (qemucaps2xmltest.c:72)
      ==27045==    by 0x41FFD1: virtTestRun (testutils.c:201)
      ==27045==    by 0x41EEA3: mymain (qemucaps2xmltest.c:204)
      ==27045==    by 0x42074D: virtTestMain (testutils.c:789)
      ==27045==    by 0x3E6CE1ED1C: (below main) (libc-start.c:226)
      4154c4e9
    • R
      bhyve: add xml2args unittest · 1994d2dd
      Roman Bogorodskiy 提交于
      At this point unittest covers 4 basic cases:
      
       - minimal working XML for bhyve
       - same as above, but with virtio disk
       - ACPI and APIC args test
       - MAC address test
      1994d2dd
    • R
      Move virBhyveTapGetRealDeviceName to virnetdevtap · a1bd8d25
      Roman Bogorodskiy 提交于
      To ease mocking for bhyve unit tests move virBhyveTapGetRealDeviceName()
      out of bhyve_command.c to virnetdevtap and rename it to
      virNetDevTapGetRealDeviceName().
      a1bd8d25
  5. 26 3月, 2014 18 次提交
    • L
      network: fix problems with SRV records · 6612d1ad
      Laine Stump 提交于
      A patch submitted by Steven Malin last week pointed out a problem with
      libvirt's DNS SRV record configuration:
      
        https://www.redhat.com/archives/libvir-list/2014-March/msg00536.html
      
      When searching for that message later, I found another series that had
      been posted by Guannan Ren back in 2012 that somehow slipped between
      the cracks:
      
        https://www.redhat.com/archives/libvir-list/2012-July/msg00236.html
      
      That patch was very much out of date, but also pointed out some real
      problems.
      
      This patch fixes all the noted problems by refactoring
      virNetworkDNSSrvDefParseXML() and networkDnsmasqConfContents(), then
      verifies those fixes by added several new records to the test case.
      
      Problems fixed:
      
      * both service and protocol now have an underscore ("_") prepended on
        the commandline, as required by RFC2782.
      
        <srv service='sip' protocol='udp' domain='example.com'
             target='tests.example.com' port='5060' priority='10'
             weight='150'/>
      
        before: srv-host=sip.udp.example.com,tests.example.com,5060,10,150
        after:  srv-host=_sip._udp.example.com,tests.example.com,5060,10,150
      
      * if "domain" wasn't specified in the <srv> element, the extra
        trailing "." will no longer be added to the dnsmasq commandline.
      
        <srv service='sip' protocol='udp' target='tests.example.com'
             port='5060' priority='10' weight='150'/>
      
        before: srv-host=sip.udp.,tests.example.com,5060,10,150
        after:  srv-host=_sip._udp,tests.example.com,5060,10,150
      
      * when optional attributes aren't specified, the separating comma is
        also now not placed on the dnsmasq commandline. If optional
        attributes in the middle of the line are not specified, they are
        replaced with a default value in the commandline (1 for port, 0 for
        priority and weight).
      
        <srv service='sip' protocol='udp' target='tests.example.com'
             port='5060'/>
      
        before: srv-host=sip.udp.,tests.example.com,5060,,
        after:  srv-host=_sip._udp,tests.example.com,5060
      
        (actually the would have generated an error, because "optional"
        attributes weren't really optional.)
      
      * The allowed characters for both service and protocol are now limited
        to alphanumerics, plus a few special characters that are found in
        existing names in /etc/services and /etc/protocols. (One exception
        is that both of these files contain names with an embedded ".", but
        "."  can't be used in these fields of an SRV record because it is
        used as a field separator and there is no method to escape a "."
        into a field.) (Previously only the strings "tcp" and "udp" were
        allowed for protocol, but this restriction has been removed, since
        RFC2782 specifically says that it isn't limited to those, and that
        anyway it is case insensitive.)
      
      * the "domain" attribute is no longer required in order to recognize
        the port, priority, and weight attributes during parsing. Only
        "target" is required for this.
      
      * if "target" isn't specified, port, priority, and weight are not
        allowed (since they are meaningless - an empty target means "this
        service is *not available* for this domain").
      
      * port, priority, and weight are now truly optional, as the comments
        originally suggested, but which was not actually true.
      6612d1ad
    • J
      Shift the for loop over matched vars by one · 9d430686
      Ján Tomko 提交于
      Instead of adding one to the iterator on every use.
      9d430686
    • J
      25c49db5
    • J
      Free groups in case of a partial match · d223cd76
      Ján Tomko 提交于
      If there are more than two regexes, but only one of them matches,
      the matched groups would be leaked.
      d223cd76
    • J
      Simplify the loop in virCommandRunRegex · cf4fb7d9
      Ján Tomko 提交于
      Do not check for border iterator values inside the loop,
      move the code before/after the loop instead.
      cf4fb7d9
    • J
      Remove useless 'maxReg' variable · f01f62d4
      Ján Tomko 提交于
      It is used to break out of the loop early if one regex does not match.
      Use the 'break' statement instead.
      f01f62d4
    • M
      qemuDomainAttachDeviceFlags: Parse device xml as inactive · 220c0031
      Michal Privoznik 提交于
      In all other drivers we are doing so. Moreover, we don't want to parse
      runtime information in attach (even if the attach is meant as live)
      because we are generating the runtime info ourselves. We can't trust
      users they supply sane values anyway.
      
      ==1140== 9 bytes in 1 blocks are definitely lost in loss record 72 of 1,151
      ==1140==    at 0x4A06C2B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==1140==    by 0x623C758: xmlStrndup (in /usr/lib64/libxml2.so.2.9.1)
      ==1140==    by 0x50FD763: virXMLPropString (virxml.c:483)
      ==1140==    by 0x510F8B7: virDomainDeviceInfoParseXML (domain_conf.c:3685)
      ==1140==    by 0x511ACFD: virDomainChrDefParseXML (domain_conf.c:7535)
      ==1140==    by 0x5121D13: virDomainDeviceDefParse (domain_conf.c:9918)
      ==1140==    by 0x13AE6313: qemuDomainAttachDeviceFlags (qemu_driver.c:6926)
      ==1140==    by 0x13AE65FA: qemuDomainAttachDevice (qemu_driver.c:7005)
      ==1140==    by 0x51C77DA: virDomainAttachDevice (libvirt.c:10231)
      ==1140==    by 0x127FDD: remoteDispatchDomainAttachDevice (remote_dispatch.h:2404)
      ==1140==    by 0x127EC5: remoteDispatchDomainAttachDeviceHelper (remote_dispatch.h:2382)
      ==1140==    by 0x5241F81: virNetServerProgramDispatchCall (virnetserverprogram.c:437)
      
      When doing live attach, we are passing the inactive definition anyway
      since we are passing the result of virDomainDeviceDefCopy() which does
      inactive copy by default.
      
      Moreover, we are doing the same mistake in qemuhotplugtest.
      
      Just a side note - it makes perfect sense to parse the runtime info
      like alias in qemuDomainDetachDevice and qemuDomainUpdateDeviceFlags()
      as in some cases the only difference to distinguish two devices can be
      just their alias.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      220c0031
    • F
      qemu: add unit tests for the capabilities xml · 231b63e3
      Francesco Romani 提交于
      The test is loosely inspired from qemucapabilitiestest
      and qemuxml2xmltest.
      
      Added a new test instead of extending an existing one because
      the feature being tested don't really fits nicely in any
      existing place.
      231b63e3
    • F
      qemu: extract guest capabilities initialization · f35e89ff
      Francesco Romani 提交于
      This patch decouples the binary and the capabilities detection
      from the guest initialization.
      
      The purpose is to make testing easier.
      f35e89ff
    • F
      qemu: export disk snapshot support in capabilities · 85a3eb8a
      Francesco Romani 提交于
      This patch adds an element to QEMU's capability XML, to
      show if the underlying QEMU binary supports the live disk
      snapshotting or not.
      This allows any client to know ahead of time if the feature
      is available.
      
      Without this information available, the only way to check
      for the snapshot support is to request one and check for
      errors.
      Signed-off-by: NFrancesco Romani <fromani@redhat.com>
      85a3eb8a
    • J
      Show the real cpu shares value in live XML · 97814d8a
      Ján Tomko 提交于
      Currently, the Linux kernel treats values of '0' and '1' as
      the minimum of 2. Values larger than the maximum are changed
      to the maximum.
      
      Re-reading the shares value after setting it reflects this in
      the live domain XML.
      97814d8a
    • 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
    • J
      Coverity: Resolve a RESOURCE_LEAK · c668cd50
      John Ferlan 提交于
      On error the lofd would have been leaked.
      c668cd50
    • J
      Coverity: Resolve a FORWARD_NULL · e38264f3
      John Ferlan 提交于
      Recent changes in the module seemed to have caused Coverity to reanalyze
      certain parts of the code. Previously the code was modified via commit
      id '11a11812' to resolve a different error (perhaps DEADCODE).  Up through
      commit id '7b3f1f8c' there were no issues.
      
      The new error indicats the 'outbuf' was checked for NULL and then complains
      because of the dereference. Adding checks for non-NULL prior to the deref
      resulted in a DEADCODE message.
      
      So, resolve using an sa_assert() to keep Coverity quiet especially since
      it doesn't understand that outbuf will change as a result of a successful
      virCommandRun() call.
      e38264f3
    • J
      Coverity: Resolve a CHECKED_RETURN message · b2e4ace2
      John Ferlan 提交于
      Recent changes to the module seemed to have caused Coverity to find a new
      issue regarding the failure to check the return from a sendmsg. The code
      doesn't seem to care about the return status, so just added an ignore_value
      to keep Coverity quiet.
      b2e4ace2
    • T
      qemu: remove redundant virQEMUDriverGetConfig · ff436380
      Tomoki Sekiyama 提交于
      qemuDomainSetSchedulerParametersFlags() calls virQEMUDriverGetConfig() twice
      and makes the reference counter leak. This removes redundant call.
      
      Problem introduced in commit 45ad1adbSigned-off-by: NEric Blake <eblake@redhat.com>
      ff436380
    • R
      bhyve: don't fail on busy tap devices · 425eeed8
      Roman Bogorodskiy 提交于
      We use virBhyveTapGetRealDeviceName() to map network interface name
      to a real device path, trying to open possible devices and getting
      names by ioctl.
      
      Make it skip devices that fail to open with EBUSY because they're
      most likely already used by other VMs.
      425eeed8
    • S
      libxl: Create log directory earlier · 139efe75
      Stefan Bader 提交于
      Commit d9f19c30 moved a lot of the
      configuration setup into libxlDriverConfigNew().
      However that tries to create the libxl/libxl-driver.log before the
      libxl directory gets created in libxlStateInitialize().
      
      This causes the daemon to fail on systems that have not had the directory
      created before.
      
      Move the code to create the libxl directory into libxlDriverConfigNew().
      Signed-off-by: NStefan Bader <stefan.bader@canonical.com>
      139efe75
  6. 25 3月, 2014 6 次提交