1. 15 8月, 2014 13 次提交
  2. 14 8月, 2014 4 次提交
  3. 13 8月, 2014 2 次提交
    • E
      maint: improve syntax check for space around = · b50c8603
      Eric Blake 提交于
      Laine Stump noted on IRC that syntax check wasn't flagging his
      typo of 'i= 0'.  This fixes it.
      
      * build-aux/bracket-spacing.pl: Tighten 'space around =' rule.
      * src/storage/storage_backend.c
      (virStorageBackendCreateExecCommand): Fix offenders.
      * src/util/virnuma.c (virNumaGetDistances): Likewise.
      * src/vbox/vbox_tmpl.c (vboxDomainSnapshotDeleteMetadataOnly)
      (vboxNetworkGetXMLDesc): Likewise.
      * src/xenapi/xenapi_driver.c (xenapiDomainLookupByName):
      Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      b50c8603
    • D
      bhyve: fix error message in bhyveStateInitialize · aad6e85f
      Dmitry Guryanov 提交于
      If we failed to create BHYVE_STATE_DIR, we should show this
      path, not BHYVE_LOG_DIR.
      aad6e85f
  4. 12 8月, 2014 11 次提交
    • M
      qemu_conf: Undefine the correct symbol · bf4cbe40
      Michal Privoznik 提交于
      At the beginning of the qemu config file parsing function there
      are 3 helper macros defined: GET_VALUE_BOOL, GET_VALUE_LONG and
      GET_VALUE_STR. Later, when they are no longer needed they are
      undefined in order to keep the namespace clean. However, the
      GET_VALUE_STRING is undefined instead of GET_VALUE_STR.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      bf4cbe40
    • R
      storage: ZFS support · 0257d06b
      Roman Bogorodskiy 提交于
      Implement ZFS storage backend driver. Currently supported
      only on FreeBSD because of ZFS limitations on Linux.
      
      Features supported:
      
       - pool-start, pool-stop
       - pool-info
       - vol-list
       - vol-create / vol-delete
      
      Pool definition looks like that:
      
       <pool type='zfs'>
        <name>myzfspool</name>
        <source>
          <name>actualpoolname</name>
        </source>
       </pool>
      
      The 'actualpoolname' value is a name of the pool on the system,
      such as shown by 'zpool list' command. Target makes no sense
      here because volumes path is always /dev/zvol/$poolname/$volname.
      
      User has to create a pool on his own, this driver doesn't
      support pool creation currently.
      
      A volume could be used with Qemu by adding an entry like this:
      
          <disk type='volume' device='disk'>
            <driver name='qemu' type='raw'/>
            <source pool='myzfspool' volume='vol5'/>
            <target dev='hdc' bus='ide'/>
          </disk>
      0257d06b
    • P
      qemu: migration: Check domain live state after exitting the monitor · 1b7c2c54
      Peter Krempa 提交于
      In qemuMigrationToFile we enter the monitor multiple times and don't
      check if the VM is still alive after returning form the monitor. Add the
      checks to skip pieces of code in case the VM crashes while saving it's
      state.
      1b7c2c54
    • P
      qemu: managedsave: Check that VM is alive after entering async job · 3fe9f61d
      Peter Krempa 提交于
      Saving a shutoff VM doesn't make sense and libvirtd crashes while
      attempting to do that. Check that the domain is alive after entering
      the save async job.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1129207
      3fe9f61d
    • P
      qemu: process: Fix header format of qemuProcessSetVcpuAffinities · e3f5af6a
      Peter Krempa 提交于
      Fix header alignment and remove the unused conn parameter.
      e3f5af6a
    • E
    • M
      conf: Format interface's driver more frequently · 3085702b
      Michal Privoznik 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1128751
      
      There's this <driver/> element under <interface/> which can have
      several attributes. However, the driver element is currently formated
      only if the driver's name or txmode has been specified. This makes
      only a little sense as we parse even partial <driver/>, for instance:
      
          <interface type='user'>
            <mac address='52:54:00:e5:48:58'/>
            <model type='virtio'/>
            <driver ioeventfd='on' event_idx='on' queues='5'/>
          </interface>
      
      But such XML would never get formatted back.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      3085702b
    • L
      network: populate interface pool immediately when network is started · 2a193f64
      Laine Stump 提交于
      When a network is defined with "<pf dev='xyz'/>", libvirt will query
      sysfs to learn the list of all virtual functions (VF) associated with
      that Physical Function (PF) then populate the network's interface pool
      accordingly. This action was previously done only when the first guest
      actually requested an interface from the network. This patch changes
      it to populate the pool immediately when the network is started. This
      way any problems with the PF or its VFs will become apparent sooner.
      
      Note that we can't remove the old calls to networkCreateInterfacePool
      that happen whenever a guest requests an interface - doing so would be
      asking for failures on hosts that had libvirt upgraded with a network
      that had been started but not yet used.
      
      This resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1047818
      2a193f64
    • L
      network: make networkCreateInterfacePool more robust · cd7759cb
      Laine Stump 提交于
      networkCreateInterfacePool was a bit loose in its error cleanup, which
      could result in a network definition with interfaces in the pool that
      were NULL. This would in turn lead to a libvirtd crash when a guest
      tried to attach an interface using the network with that pool.
      
      In particular this would happen when creating a pool to be used for
      macvtap connections. macvtap needs the netdev name of the virtual
      function in order to use it, and each VF only has a netdev name if it
      is currently bound to a network driver. If one of the VFs of a PF
      happened to be bound to the pci-stub or vfio-pci driver (indicating
      it's already in use for PCI passthrough), or no driver at all, it
      would have no name. In this case networkCreateInterfacePool would
      return an error, but would leave the netdef->forward.nifs set to the
      total number of VFs in the PF. The interface attach that triggered
      calling of networkCreateInterfacePool (it uses a "lazy fill" strategy)
      would simply fail, but the very next attempt to attach an interface
      using the same network pool would result in a crash.
      
      This patch refactors networkCreateInterfacePool to bring it more in
      line with current coding practices (label name, use of a switch with
      no default case) as well as providing the following two changes to
      behavior:
      
      1) If a VF with no netdev name is encountered, just log a warning and
      continue; only fail if exactly 0 devices are found to put in the pool.
      
      2) If the function fails, clean up any partial interface pool and set
      netdef->forward.nifs to 0.
      
      This resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1111455
      cd7759cb
    • G
      Don't fail qemu driver intialization if we can't determine hugepage size · ee2a7c54
      Guido Günther 提交于
      Otherwise we fail like
      
        libvirt version: 1.2.7, package: 6 (root 2014-08-08-16:09:22 bogon)
        virAuditOpen:62 : Unable to initialize audit layer: Protocol not supported
        virFileGetDefaultHugepageSize:2958 : internal error: Unable to parse /proc/meminfo
        virStateInitialize:749 : Initialization of QEMU state driver failed: internal error: Unable to parse /proc/meminfo
        daemonRunStateInit:922 : Driver state initialization failed
      
      if the data can't be determined.
      
      Reference: http://bugs.debian.org/757609
      ee2a7c54
    • G
      Include param.h in case of HAVE_BSD_CPU_AFFINITY · 712374d1
      Guido Günther 提交于
      This fixes compilation on kFreeBSD which otherwise fails like
      
        CC       util/libvirt_util_la-virprocess.lo
      In file included from /usr/include/sys/cpuset.h:35:0,
                       from util/virprocess.c:43:
      /usr/include/sys/_cpuset.h:49:43: error: 'NBBY' undeclared here (not in
      a function)
        long __bits[howmany(CPU_SETSIZE, _NCPUBITS)];
                                                 ^
      In file included from util/virprocess.c:43:0:
      /usr/include/sys/cpuset.h:215:12: error: unknown type name 'cpusetid_t'
       int cpuset(cpusetid_t *);
                  ^
      /usr/include/sys/cpuset.h:216:30: error: expected ')' before 'id_t'
       int cpuset_setid(cpuwhich_t, id_t, cpusetid_t);
                                    ^
      /usr/include/sys/cpuset.h:217:42: error: expected ')' before 'id_t'
       int cpuset_getid(cpulevel_t, cpuwhich_t, id_t, cpusetid_t *);
                                                ^
      /usr/include/sys/cpuset.h:218:48: error: expected ')' before 'id_t'
       int cpuset_getaffinity(cpulevel_t, cpuwhich_t, id_t, size_t, cpuset_t
      *);
                                                      ^
      /usr/include/sys/cpuset.h:219:48: error: expected ')' before 'id_t'
       int cpuset_setaffinity(cpulevel_t, cpuwhich_t, id_t, size_t, const
      cpuset_t *);
      
      And it's the correct usage as documented in
      
        http://www.freebsd.org/cgi/man.cgi?query=cpuset_setid
      
      Also change the #ifdef HAVE_BSH_CPU_AFFINITY to #if for consistency.
      712374d1
  5. 11 8月, 2014 2 次提交
    • T
      qemu: use guest-fsfreeze-freeze-list command if mountpoints to freeze specified · 09dbb478
      Tomoki Sekiyama 提交于
      A command to freeze a part of mounted file systems is implemented in
      upstream QEMU-guest-agent with a name of 'guest-fsfreeze-freeze-list'.
      This fixes the name of the command used to partial fsfreeze in qemu driver
      when 'mountpoints' option is specified to virDomainFSFreeze API.
      Signed-off-by: NTomoki Sekiyama <tomoki.sekiyama@hds.com>
      09dbb478
    • J
      qemu: Actually clear bandwidth settings · 337c6eec
      Jianwei Hu 提交于
      The virDomainSetInterfaceParameters implementation in qemu over
      VIR_DOMAIN_AFFECT_CONFIG doesn't work as expected. When trying to
      clear out the bandwidth settings for an interface, it has no
      actual effect:
      
          virsh # domiftune --config $domain $interface
          inbound.average: 100
          inbound.peak   : 0
          inbound.burst  : 0
          outbound.average: 10
          outbound.peak  : 0
          outbound.burst : 0
      
          virsh domiftune --config $domain $interface 0 0
      
          virsh # domiftune --config $domain $interface
          inbound.average: 100
          inbound.peak   : 0
          inbound.burst  : 0
          outbound.average: 10
          outbound.peak  : 0
          outbound.burst : 0
      
      But according to virsh man page:
      
          To clear inbound or outbound settings, use --inbound or
          --outbound respectfully with average value of zero.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      337c6eec
  6. 09 8月, 2014 8 次提交