1. 17 7月, 2014 7 次提交
  2. 16 7月, 2014 3 次提交
    • E
      blockjob: wait for pivot to complete · 97c59b9c
      Eric Blake 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1119173 documents that
      commit eaba79d2 was flawed in the implementation of the
      VIR_DOMAIN_BLOCK_JOB_ABORT_ASYNC flag when it comes to completing
      a blockcopy.  Basically, the qemu pivot action is async (the QMP
      command returns immediately, but the user must wait for the
      BLOCK_JOB_COMPLETE event to know that all I/O related to the job
      has finally been flushed), but the libvirt command was documented
      as synchronous by default.  As active block commit will also be
      using this code, it is worth fixing now.
      
      * src/qemu/qemu_driver.c (qemuDomainBlockJobImpl): Don't skip wait
      loop after pivot.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      97c59b9c
    • M
      Fix const correctness · 607806f8
      Michal Privoznik 提交于
      In many places we define a variable as a 'const char *' when in fact
      we modify it just a few lines below. Or even free it. We should not do
      that.
      
      There's one exception though, in xenSessionFree() xenapi_utils.c. We
      are freeing the xen_session structure which is defined in
      xen/api/xen_common.h public header. The structure contains session_id
      which is type of 'const char *' when in fact it should have been just
      'char *'. So I'm leaving this unmodified, just noticing the fact in
      comment.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      607806f8
    • R
      util: virstatslinux: make more generic · 5559a8b8
      Roman Bogorodskiy 提交于
      Rename linuxDomainInterfaceStats to virNetInterfaceStats in order
      to allow adding platform specific implementations without
      making consumer worrying about specific implementation to be used.
      
      Also, rename util/virstatslinux.c to util/virstats.c so placing
      other platform specific implementations into this file don't
      look unexpected from the file name.
      5559a8b8
  3. 15 7月, 2014 2 次提交
    • P
      qemu: blockcopy: Initialize correct source structure · 95d6aff7
      Peter Krempa 提交于
      4cc1f1a0 introduced a crash when doing a
      block copy as virStorageSourceInitChainElement was called on
      "disk->mirror" that is still NULL at that point instead of "mirror"
      which temporarily holds the mirror source struct until it's fully
      initialized. This resulted into a crash as a NULL was dereferenced.
      
      Reported by: Shanzi Yu <shyu@redhat.com>
      95d6aff7
    • J
      GetBlockInfo: Use the correct path to qemuOpenFile · 54d4619c
      John Ferlan 提交于
      Commit id '3ea661de' refactored the code to use the 'disk->src->path'
      instead of getting the path from virDomainDiskGetSource().  The one
      call to qemuOpenFile() didn't use the disk source path, rather it used
      the path as passed from the caller (in this case 'vda') - this caused
      a failure with the virt-test/tp-libvirt as follows:
      
      $ virsh domblkinfo virt-tests-vm1 vda
      error: cannot stat file '/home/virt-test/shared/data/images/jeos-20-64.qcow2': Bad file descriptor
      
      $
      54d4619c
  4. 14 7月, 2014 1 次提交
    • E
      capabilities: use bool instead of int · 58156f39
      Eric Blake 提交于
      While preparing to add a capability for active commit, I noticed
      that the existing code was abusing int for boolean values.
      
      * src/conf/capabilities.h (_virCapsGuestFeature, _virCapsHost)
      (virCapabilitiesNew, virCapabilitiesAddGuestFeature): Improve
      types.
      * src/conf/capabilities.c (virCapabilitiesNew)
      (virCapabilitiesAddGuestFeature): Adjust signature.
      * src/bhyve/bhyve_capabilities.c (virBhyveCapsBuild): Update
      clients.
      * src/esx/esx_driver.c (esxCapsInit): Likewise.
      * src/libxl/libxl_conf.c (libxlMakeCapabilities): Likewise.
      * src/lxc/lxc_conf.c (virLXCDriverCapsInit): Likewise.
      * src/openvz/openvz_conf.c (openvzCapsInit): Likewise.
      * src/parallels/parallels_driver.c (parallelsBuildCapabilities):
      Likewise.
      * src/phyp/phyp_driver.c (phypCapsInit): Likewise.
      * src/qemu/qemu_capabilities.c (virQEMUCapsInit)
      (virQEMUCapsInitGuestFromBinary): Likewise.
      * src/security/virt-aa-helper.c (get_definition): Likewise.
      * src/test/test_driver.c (testBuildCapabilities): Likewise.
      * src/uml/uml_conf.c (umlCapsInit): Likewise.
      * src/vbox/vbox_tmpl.c (vboxCapsInit): Likewise.
      * src/vmware/vmware_conf.c (vmwareCapsInit): Likewise.
      * src/xen/xen_hypervisor.c (xenHypervisorBuildCapabilities):
      Likewise.
      * src/xenapi/xenapi_driver.c (getCapsObject): Likewise.
      * tests/qemucaps2xmltest.c (testGetCaps): Likewise.
      * tests/testutils.c (virTestGenericCapsInit): Likewise.
      * tests/testutilslxc.c (testLXCCapsInit): Likewise.
      * tests/testutilsqemu.c (testQemuCapsInit): Likewise.
      * tests/testutilsxen.c (testXenCapsInit): Likewise.
      * tests/vircaps2xmltest.c (buildVirCapabilities): Likewise.
      * tests/vircapstest.c (buildNUMATopology): Likewise.
      * tests/vmx2xmltest.c (testCapsInit): Likewise.
      * tests/xml2vmxtest.c (testCapsInit): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      58156f39
  5. 10 7月, 2014 1 次提交
    • J
      check for cfg->spiceTLS earlier in qemuProcessSPICEAllocatePorts · b02fca79
      Ján Tomko 提交于
      This saves a few lines of code and catches the error when:
      <spice autoport ='yes' defaultMode='any' ..>
        <channel name='main' mode='secure'/>
      </spice>
      is specified with spice_tls = 0 in qemu.conf.
      
      Instead of this error in qemuBuildGraphicsSPICECommandLine:
      error: unsupported configuration: spice secure channels set in XML
      configuration, but TLS port is not provided
      
      an error is reported in qemuProcessSPICEAllocatePorts:
      error: unsupported configuration: Auto allocation of spice TLS port
      requested but spice TLS is disabled in qemu.conf
      
      Inspired by:
      https://www.redhat.com/archives/libvir-list/2014-June/msg01408.html
      b02fca79
  6. 09 7月, 2014 11 次提交
  7. 08 7月, 2014 6 次提交
  8. 07 7月, 2014 2 次提交
  9. 04 7月, 2014 7 次提交
    • P
      qemu: monitor: Add support for backing name specification for block-stream · a448713a
      Peter Krempa 提交于
      To allow changing the name that is recorded in the top of the current
      image chain used in a block pull/rebase operation, we need to specify
      the backing name to qemu. This is done via the "backing-file" attribute
      to the block-stream commad.
      a448713a
    • P
      qemu: monitor: Add argument for specifying backing name for block commit · c29b6529
      Peter Krempa 提交于
      To allow changing the name that is recorded in the overlay of the TOP
      image used in a block commit operation, we need to specify the backing
      name to qemu. This is done via the "backing-file" attribute to the
      block-commit command.
      c29b6529
    • P
      qemu: caps: Add capability for change-backing-file command · b20fb93c
      Peter Krempa 提交于
      This command allows to change the backing file name recorded in the
      metadata of a qcow (or other) image. The capability also notifies that
      the "block-stream" and "block-commit" commands understand the
      "backing-file" attribute.
      b20fb93c
    • P
      audit: disk: Refactor disk auditing to avoid auditing remote storage · 6d602f11
      Peter Krempa 提交于
      Pass the virStorageSource struct to the auditing function and check if
      storage is local before auditing.
      6d602f11
    • J
      Utilize virDomainDiskAuth for storage pools · 97e3397c
      John Ferlan 提交于
      Replace the authType, chap, and cephx unions in virStoragePoolSource
      with a single pointer to a virStorageAuthDefPtr.  Adjust all users of
      the previous chap/cephx and secret unions with the source->auth data.
      97e3397c
    • J
      Utilize virDomainDiskAuth for domain disk · 6887af39
      John Ferlan 提交于
      Replace the inline "auth" struct in virStorageSource with a pointer
      to a virStorageAuthDefPtr and utilize between the domain_conf, qemu_conf,
      and qemu_command sources for finding the auth data for a domain disk
      6887af39
    • E
      blockjob: turn on qemu capability bit for active commit · 40ad7160
      Eric Blake 提交于
      Use the probing functionality added in the last patch to turn on
      a capability bit when active commit is present, and gate active
      commit on that capability.
      
      For my own reference: the difference between BLOCKJOB_SYNC and
      BLOCKJOB_ASYNC is whether qemu generated an event at the
      conclusion of blockpull; basically, RHEL 6.2 was the only release
      of qemu that has the sync semantics and lacks the event.  RHEL
      6.3 added blockcopy, but also picked up on the upstream style
      of qemu generating events.  As no one is likely to backport
      active commit to RHEL 6.2, it's safe for blockcommit to always
      require async blockjob support.
      
      Modifying qemucapabilitiestest is painful; the .replies files would
      be so much easier if they had comments correlating which command
      generated the given reply.  Maybe I'll fix that up later...
      
      * src/qemu/qemu_capabilities.h (QEMU_CAPS_ACTIVE_COMMIT): New
      capability.
      * src/qemu/qemu_driver.c (qemuDomainBlockCommit): Use the new bit
      * src/qemu/qemu_capabilities.c (virQEMUCaps): Name the new bit.
      (virQEMUCapsProbeQMPCommands): Set it.
      * tests/qemucapabilitiesdata/caps_1.3.1-1.replies: Update.
      * tests/qemucapabilitiesdata/caps_1.4.2-1.replies: Likewise.
      * tests/qemucapabilitiesdata/caps_1.5.3-1.replies: Likewise.
      * tests/qemucapabilitiesdata/caps_1.6.0-1.replies: Likewise.
      * tests/qemucapabilitiesdata/caps_1.6.50-1.replies: Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      40ad7160