1. 20 11月, 2009 2 次提交
    • S
      qemu-kvm needs -enable-kvm flag for VT optimization · b827338a
      Steve Yarmie 提交于
      Recent qemu releases require command option '-enable-qemu' in order
      for the kvm functionality be activated. Libvirt needs to pass this flag
      to qemu when starting a domain. Note that without the option,
      even if both the kernel and qemu support KVM, KVM will not be activated
      and VMs will be very slow.
      
      * src/qemu/qemu_conf.h src/qemu/qemu_conf.c: parse the extra command
        line option from help and add it when running kvm
      * tests/qemuhelptest.c: this modified the flags output for qemu-0.10.5
        and qemu-kvm-0.11.0-rc2 regression tests
      b827338a
    • S
      fix deprecated iptables command syntax · 264f3dda
      Steve Yarmie 提交于
      * src/util/iptables.c: `--option !  this` is deprecated in favor of
        `! --option this` syntax, change the output command accordingly
      264f3dda
  2. 19 11月, 2009 4 次提交
    • D
      remove sysfs_path and parent_sysfs_path from XML · 2cdb665b
      Dave Allan 提交于
      Erroneously included the sysfs_path and parent_sysfs_path elements in
      the node device xml, they were not supposed to show up there
      
      * src/conf/node_device_conf.c: remove the output of the 2 fields
      2cdb665b
    • D
      Removing devicePath member from dev struct · f2f656d4
      Dave Allan 提交于
      I realized that I inadvertently added a member to the def struct to
      contain each device's sysfs path when there was an existing member in the
      dev struct for "OS specific path to device metadat, eg sysfs"  Since the
      udev backend needs to record the sysfs path while it's in the process of
      creating the device, before the dev struct gets allocated, I chose to
      remove the member from the dev struct.
      
      * src/conf/node_device_conf.c src/conf/node_device_conf.h
        src/node_device/node_device_driver.c src/node_device/node_device_hal.c
        src/node_device/node_device_udev.c: remove devicePath from the
        structure and use def->sysfs_path instead
      f2f656d4
    • D
      report OOM in two places in node_device_driver.c · 0fe55374
      Dave Allan 提交于
      * src/node_device/node_device_driver.c: two places where not calling
        virReportOOMError after strdup failure
      0fe55374
    • D
      Ensure driver lock is released when entering QEMU monitor · 278e9478
      Daniel P. Berrange 提交于
      The qemudStartVMDaemon() and several functions it calls use
      the QEMU monitor. The QEMU driver is locked while this function
      is executing, so it is rquired to release the driver lock and
      reacquire it either side of issuing a monitor command. It
      failed todo so, leading to deadlock
      
      * qemu/qemu_driver.c: Release driver when in qemudStartVMDaemon
        and things it calls
      278e9478
  3. 17 11月, 2009 5 次提交
  4. 16 11月, 2009 1 次提交
  5. 15 11月, 2009 7 次提交
    • M
      esx: Fix CPU clock Hz to MHz conversion · d42cfb4e
      Matthias Bolte 提交于
      d42cfb4e
    • M
      esx: Fix memory leak in esxVI_HostCpuIdInfo_Free() · 03a155a2
      Matthias Bolte 提交于
      03a155a2
    • M
      esx: Fix MAC address formatting · 645f4aca
      Matthias Bolte 提交于
      VMware uses two MAC address prefixes: 00:0c:29 and 00:50:56. The 00:0c:29
      prefix is used for ESX server generated addresses. The 00:50:56 prefix is
      split into two parts. MAC addresses above 00:50:56:3f:ff:ff are generated
      by a vCenter. The rest of the 00:50:56 prefix can be assigned manually.
      Any MAC address within the 00:0c:29 and 00:50:56 prefix can be specified
      in a domain XML config and the driver will handle the details internally.
      
      * src/esx/esx_vmx.c: fix MAC address formatting
      * tests/xml2vmxdata/*: update test files accordingly
      645f4aca
    • M
      esx: Handle 'vmxnet3' in esxVMX_FormatEthernet() · 4b3e1952
      Matthias Bolte 提交于
      In commit 3c80fac2 'vmxnet3' handling
      was added to esxVMX_ParseEthernet(), but not to the inverse function
      esxVMX_FormatEthernet().
      4b3e1952
    • M
      esx: Add documentation to the website · 57dbe08e
      Matthias Bolte 提交于
      * docs/drivers.html.in: list the ESX driver
      * docs/drvesx.html.in: the new ESX driver documentation
      * docs/hvsupport.html.in: add the ESX driver to the matrix
      * docs/index.html.in, docs/sitemap.html.in: list the ESX driver
      * src/esx/esx_driver.c: fix and cleanup some comments
      57dbe08e
    • M
      Change DTD references to use public instead of system identifier · dad6ecc6
      Matthias Bolte 提交于
      Debian's /etc/xml/catalog doesn't contain system identifiers, so use
      public identifiers instead.
      
      * docs/Makefile.am: use public instead of system identifier
      * docs/site.xsl: use matching public identifier
      dad6ecc6
    • J
      Fix compilation of libvirt against xen-unstable · 8d567fbc
      Jim Fehlig 提交于
      * src/xen/xen_hypervisor.c: xen-unstable changeset 19788 removed
        MAX_VIRT_CPUS from public headers, breaking compilation of libvirt
        on -unstable.  Its semanitc was retained with XEN_LEGACY_MAX_VCPUS.
        Ensure MAX_VIRT_CPUS is defined accordingly.
      8d567fbc
  6. 13 11月, 2009 21 次提交
    • D
      Fix probing for libpciaccess · 8c4d80d7
      Daniel P. Berrange 提交于
      If 'with_udev=check' then missing pciaccess should not be a fatal
      error. It should merely disable the udev driver.
      
      * configure.in: Fix pciaccess check to be non-fatal
      8c4d80d7
    • D
      Remove obsolte devicekit checks · c15a64b9
      Daniel P. Berrange 提交于
      Device kit support was removed, but the configure.ac checks were
      left in place. A number of the XXX_REQUIRED=X.Y.Z variables were
      not declared in the correct location (ie top of the file)
      
      * configure.in: Remove device kit checks & move mis-placed variables
        to correct location
      c15a64b9
    • D
      Fix incorrect reference counting logic in qemu monitor open · 5313dc37
      Daniel P. Berrange 提交于
      The QEMU monitor open method would not take a reference on
      the virDomainObjPtr until it had successfully opened the
      monitor. The cleanup code upon failure to open though would
      call qemuMonitorClose() which would in turn decrement the
      reference count. This caused the virDoaminObjPtr to be mistakenly
      freed and then the whole driver crashes
      
      * src/qemu/qemu_monitor.c: Fix reference counting in
        qemuMonitorOpen
      5313dc37
    • D
      Don't return fatal error in HAL driver init if HAL isn't running · 7bed630d
      Daniel P. Berrange 提交于
      The HAL driver returns a fatal error code in the case where HAL
      is not running. This causes the entire libvirtd daemon to quit
      which isn't desirable. Instead it should simply disable the HAL
      driver
      
      * src/node_device/node_device_hal.c: Quietly disable HAL if it is
        not running
      7bed630d
    • D
      Fix cleanup when state driver init fails · 4be6e024
      Daniel P. Berrange 提交于
      * daemon/libvirtd.c: Fix incorrect goto label causing cleanup to
        be missed when state driver init fails
      4be6e024
    • M
      Small guestfwd code cleanup · da82b03f
      Matthew Booth 提交于
      * src/qemu/qemu_conf.c: Remove and inline qemudBuildCommandLineChrDevTargetStr
      da82b03f
    • M
      Small indentation cleanup of domain schema · ddfd21f8
      Matthew Booth 提交于
      ddfd21f8
    • J
      AppArmor code cleanups · 3cbc0501
      Jamie Strandboge 提交于
      * src/security/security_apparmor.c: a few code cleanups following a
        review on the list
      3cbc0501
    • J
      AppArmor handling of accesses to readonly files · d0d4b8ad
      Jamie Strandboge 提交于
      Fixes https://launchpad.net/bugs/453335
      
      * src/security/virt-aa-helper.c: suppress confusing and misleading
        apparmor denied message when kvm/qemu tries to open a libvirt specified
        readonly file (such as a cdrom) with write permissions. libvirt uses
        the readonly attribute for the security driver only, and has no way
        of telling kvm/qemu that the device should be opened readonly
      d0d4b8ad
    • J
      AppArmor require absolute paths · dae7054b
      Jamie Strandboge 提交于
      Fixes https://launchpad.net/bugs/460271
      
      * src/security/virt-aa-helper.c: require absolute path for dynamic added
        files. This is required by AppArmor and conveniently prevents adding
        tcp consoles to the profile
      dae7054b
    • J
      AppArmor updates of examples · a8a560dd
      Jamie Strandboge 提交于
      * examples/apparmor/libvirt-qemu: adds pulseaudio, alsa and preliminary
        save/restore to the example apparmor abstraction
      * examples/apparmor/usr.sbin.libvirtd: allows libvirtd access to inet
        dgram, inet6 dgram, inet6 stream and /usr/lib/libvirt/*
      a8a560dd
    • D
      Check that domain is running when starting console · c7a8e1bf
      Daniel P. Berrange 提交于
      The 'virsh console' command did not check if the domain was
      already running before attempting to fetch the XML and extract
      the console PTY path. This caused a slightly unhelpful / misleading
      error message for the user. The explicit check ensures the user
      gets an explicit 'domain is not running' message.
      
      * tools/virsh.c: Validate that state != VIR_DOMAIN_SHUTOFF in
        virsh console command
      c7a8e1bf
    • D
      Fix incorrect variable passed to LXC event callback · 007f016b
      Daniel P. Berrange 提交于
      The wrong variable was being passed in with the LXC event callback
      resulting in a later deadlock or crash
      
      * src/lxc/lxc_driver.c: Pass 'vm' instead of 'driver' to event
        callback
      007f016b
    • D
      Fix check for existance of cgroups at creation · d11d93f4
      Daniel P. Berrange 提交于
      In the scenario where the cgroups were mounted but the
      particular group did not exist, and the caller had not
      requested auto-creation, the code would fail to return
      an error condition. This caused the lxc_controller to
      think the cgroup existed, and it then later failed when
      attempting to use it
      
      * src/util/cgroup.c: Raise an error if the cgroup path does not
        exist
      d11d93f4
    • D
      Fix race condition in HAL driver startup · fd2090cd
      Daniel P. Berrange 提交于
      There is a race condition in HAL driver startup where the callback
      can get triggered before we have finished startup. This then causes
      a deadlock in the driver.
      
      * src/node_device/node_device_hal.c: RElease driver lock before
        registering DBus callbacks
      fd2090cd
    • D
      Fix formatting of XML for an inactive guest · f24e67d2
      Daniel P. Berrange 提交于
      If the virDomainDefPtr object has an 'id' of -1, then forcably
      set the VIR_DOMAIN_XML_INACTIVE flag to ensure generated XML
      does not include any cruft from the previously running guest
      such as console PTY path, or VNC port.
      
      * src/conf/domain_conf.c: Set VIR_DOMAIN_XML_INACTIVE if
        def->id is -1. Replace checks for def->id == -1 with
        check against flags & VIR_DOMAIN_XML_INACTIVE.
      f24e67d2
    • D
      Remove capng_lock() call when spawning LXC container init process · e6cbadd5
      Daniel P. Berrange 提交于
      The capng_lock() call sets the SECURE_NO_SETUID_FIXUP and SECURE_NOROOT
      bits on the process. This prevents the kernel granting capabilities to
      processes with an effective UID of 0, or with setuid programs. This is
      not actually what we want in the container init process. It should be
      allowed to run setuid processes & keep capabilities when root. All that
      is required is masking a handful of dangerous capabilities from the
      bounding set.
      
      * src/lxc/lxc_container.c: Remove bogus capng_lock() call.
      e6cbadd5
    • D
      Fix initscript to check daemon pidfile · ce62916b
      Daniel P. Berrange 提交于
      The libvirtd initscript could get confused between the system and
      session instances of the daemon. To avoid this it is neccessary
      to check the pidfile explicitly.
      
      * daemon/libvirtd.init.in: Always check the pidfile of the system
        daemon to avoid confusion with the session daemons
      ce62916b
    • J
      Fix virt-aa-helper when host and os.type arch differ · 308b8533
      Jamie Strandboge 提交于
      * src/security/virt-aa-helper.c: get_definition() now calls the new
        caps_mockup() function which will parse the XML for os.type,
        os.type.arch and then sets the wordsize.  These attributes are needed
        only to get a valid virCapsPtr for virDomainDefParseString(). The -H
        and -b options are now removed from virt-aa-helper (they weren't used
        yet anyway).
      * tests/virt-aa-helper-test: extend and fixes tests, chmod'ed 755
      308b8533
    • D
      Add translation of PCI vendor and product IDs · 70236638
      David Allan 提交于
      uses libpciaccess to provide human readable names for PCI vendor and
      device IDs
      * configure.in: add a requirement for libpciaccess >= 0.10.0
      * src/Makefile.am: add the associated compilation flags and link
      * src/node_device/node_device_udev.c: lookup the libpciaccess for
        vendor name and product name based on their ids
      70236638
    • D
      Remove DevKit node device backend · e99fb5ed
      David Allan 提交于
      * configure.in src/Makefile.am: remove the configuration check and
        build instructions
      * src/node_device/node_device_devkit.c: removed the module
      * src/node_device/node_device_driver.c src/node_device/node_device_driver.h:
        removed references to the old backend
      e99fb5ed