1. 10 9月, 2014 1 次提交
    • J
      Refactor job statistics · 6fcddfcd
      Jiri Denemark 提交于
      Job statistics data were tracked in several structures and variables.
      Let's make a new qemuDomainJobInfo structure which can be used as a
      single source of statistics data as a preparation for storing data about
      completed a job.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      6fcddfcd
  2. 09 9月, 2014 2 次提交
    • M
    • E
      blockcopy: add a way to parse disk source · 37588b25
      Eric Blake 提交于
      The new blockcopy API wants to reuse only a subset of the disk
      hotplug parser - namely, we only care about the embedded
      virStorageSourcePtr inside a <disk> XML.  Strange as it may
      seem, it was easier to just parse an entire disk definition,
      then throw away everything but the embedded source, than it
      was to disentangle the source parsing code from the rest of
      the overall disk parsing function.  All that I needed was a
      couple of tweaks and a new internal flag that determines
      whether the normally-mandatory target element can be
      gracefully skipped, since everything else was already optional.
      
      * src/conf/domain_conf.h (virDomainDiskSourceParse): New
      prototype.
      * src/conf/domain_conf.c (VIR_DOMAIN_XML_INTERNAL_DISK_SOURCE):
      New flag.
      (virDomainDiskDefParseXML): Honor flag to make target optional.
      (virDomainDiskSourceParse): New function.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      37588b25
  3. 08 9月, 2014 7 次提交
  4. 07 9月, 2014 3 次提交
  5. 06 9月, 2014 6 次提交
    • P
      storage_conf: Fix libvirtd crash when defining scsi storage pool · 119b6dfc
      Pradipta Kr. Banerjee 提交于
      Since 9f781da6
      
      Resolve a libvirtd crash in virStoragePoolSourceFindDuplicate()
      when there is an existing SCSI pool defined with adapter type as
      'scsi_host' and defining a new SCSI pool with adapter type as
      'fc_host' and parent attribute missing or vice versa.
      
      For example, if there is an existing SCSI pool with adapter type
      as 'scsi_host' defined using the following XML
      
      <pool type='scsi'>
        <name>TEST_SCSI_POOL</name>
          <source>
             <adapter type='scsi_host' name='scsi_host1'/>
          </source>
          <target>
              <path>/dev/disk/by-path</path>
          </target>
      </pool>
      
      When defining another SCSI pool with adapter type as 'fc_host' using the
      following XML will crash libvirtd
      
      <pool type='scsi'>
        <name>TEST_SCSI_FC_POOL</name>
        <source>
           <adapter type='fc_host' wwnn='1234567890abcdef' wwpn='abcdef1234567890'/>
        </source>
        <target>
           <path>/dev/disk/by-path</path>
        </target>
      </pool>
      
      Same is true for the reverse case as well where there exists a SCSI pool
      with adapter type as 'fc_host' and another SCSI pool is defined with
      adapter type as 'scsi_host'.
      
      This happens because for fc_host 'name' is optional attribute whereas for
      scsi_host its mandatory. However the check in libvirt for finding duplicate
      storage pools didn't take that into account while comparing
      Signed-off-by: NPradipta Kr. Banerjee <bpradip@in.ibm.com>
      119b6dfc
    • E
      blockcopy: allow block device destination · b7e73585
      Eric Blake 提交于
      To date, anyone performing a block copy and pivot ends up with
      the destination being treated as <disk type='file'>.  While this
      works for data access for a block device, it has at least one
      noticeable shortcoming: virDomainGetBlockInfo() reports allocation
      differently for block devices visited as files (the size of the
      device) than for block devices visited as <disk type='block'>
      (the maximum sector used, as reported by qemu); and this difference
      is significant when trying to manage qcow2 format on block devices
      that can be grown as needed.
      
      Of course, the more powerful virDomainBlockCopy() API can already
      express the ability to set the <disk> type.  But a new API can't
      be backported, while a new flag to an existing API can; and it is
      also rather inconvenient to have to resort to the full power of
      generating XML when just adding a flag to the older call will do
      the trick.  So this patch enhances blockcopy to let the user flag
      when the resulting XML after the copy must list the device as
      type='block'.
      
      * include/libvirt/libvirt.h.in (VIR_DOMAIN_BLOCK_REBASE_COPY_DEV):
      New flag.
      * src/libvirt.c (virDomainBlockRebase): Document it.
      * tools/virsh-domain.c (opts_block_copy, blockJobImpl): Add
      --blockdev option.
      * tools/virsh.pod (blockcopy): Document it.
      * src/qemu/qemu_driver.c (qemuDomainBlockRebase): Allow new flag.
      (qemuDomainBlockCopy): Remember the flag, and make sure it is only
      used on actual block devices.
      * tests/qemuxml2argvdata/qemuxml2argv-disk-mirror.xml: Test it.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      b7e73585
    • E
      blockjob: allow finer bandwidth tuning for query · db33cc24
      Eric Blake 提交于
      While reviewing the new virDomainBlockCopy API, Peter Krempa
      pointed out that our existing design of using MiB/s for block
      job bandwidth is rather coarse, especially since qemu tracks
      it in bytes/s; so virDomainBlockCopy only accepts bytes/s.
      But once the new API is implemented for qemu, we will be in
      the situation where it is possible to set a value that cannot
      be accurately reflected back to the user, because the existing
      virDomainGetBlockJobInfo defaults to the coarser units.
      
      Fortunately, we have an escape hatch; and one that has already
      served us well in the past: we can use the flags argument to
      specify which scale to use (see virDomainBlockResize for prior
      art).  This patch fixes the query side of the API; made easier
      by previous patches that split the query side out from the
      modification code.  Later patches will address the virsh
      interface, as well retrofitting all other blockjob APIs to
      also accept a flag for toggling bandwidth units.
      
      * include/libvirt/libvirt.h.in (_virDomainBlockJobInfo)
      (VIR_DOMAIN_BLOCK_COPY_BANDWIDTH): Document sizing issues.
      (virDomainBlockJobInfoFlags): New enum.
      * src/libvirt.c (virDomainGetBlockJobInfo): Document new flag.
      * src/qemu/qemu_monitor.h (qemuMonitorBlockJobInfo): Add parameter.
      * src/qemu/qemu_monitor.c (qemuMonitorBlockJobInfo): Likewise.
      * src/qemu/qemu_monitor_json.h (qemuMonitorJSONBlockJobInfo):
      Likewise.
      * src/qemu/qemu_monitor_json.c (qemuMonitorJSONBlockJobInfo)
      (qemuMonitorJSONGetBlockJobInfoOne): Likewise. Don't scale here.
      * src/qemu/qemu_migration.c (qemuMigrationDriveMirror): Update
      callers.
      * src/qemu/qemu_driver.c (qemuDomainBlockPivot)
      (qemuDomainBlockJobImpl): Likewise.
      (qemuDomainGetBlockJobInfo): Likewise, and support new flag.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      db33cc24
    • E
      blockjob: add new monitor json conversions · fcbeb2e9
      Eric Blake 提交于
      The previous patch hoisted some bounds checks to the callers;
      but someone that is not aware of the hoisted check could now
      try passing an integer between LLONG_MAX and ULLONG_MAX.  As a
      safety measure, add new json conversion modes that let libvirt
      error out early instead of pass bad numbers to qemu, if the
      caller ever makes a mistake due to later refactoring.
      
      Convert the various blockjob QMP calls to use the new modes,
      and switch some of them to be optional (QMP has always supported
      an omitted "speed" the same as "speed":0, for everything except
      block-job-set-speed).
      
      * src/qemu/qemu_monitor_json.c (qemuMonitorJSONMakeCommandRaw):
      Add 'j'/'y' and 'J'/'Y' to error out on negative input.
      (qemuMonitorJSONDriveMirror, qemuMonitorJSONBlockCommit)
      (qemuMonitorJSONBlockJob): Use it.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      fcbeb2e9
    • E
      blockjob: hoist bandwidth scaling out of monitor code · 08cc14f7
      Eric Blake 提交于
      qemu treats blockjob bandwidth as a 64-bit number, in the units
      of bytes/second.  But we stupidly modeled block job bandwidth
      after migration bandwidth, which in turn was an 'unsigned long'
      and therefore subject to 32-bit vs. 64-bit interpretations, and
      with a scale of MiB/s.  Our code already has to convert between
      the two scales, and report overflow as appropriate; although
      this conversion currently lives in the monitor code.  In fact,
      our conversion code limited things to 63 bits, because we
      checked against LLONG_MAX and reject what would be negative
      bandwidth if treated as signed.
      
      On the bright side, our use of MiB/s means that even with a
      32-bit unsigned long, we still have no problem representing a
      bandwidth of 2GiB/s, which is starting to be more feasible as
      10-gigabit or even faster interfaces are used.  And once you
      get past the physical speeds of existing interfaces, any larger
      bandwidth number behaves the same - effectively unlimited.
      But on the low side, the granularity of 1MiB/s tuning is rather
      coarse.  So the new virDomainBlockJob API decided to go with
      a direct 64-bit bytes/sec number instead of the scaled number
      that prior blockjob APIs had used.  But there is no point in
      rounding this number to MiB/s just to scale it back to bytes/s
      for handing to qemu.
      
      In order to make future code sharing possible between the old
      virDomainBlockRebase and the new virDomainBlockCopy, this patch
      moves the scaling and overflow detection into the driver code.
      Several of the block job calls that can set speed are fed
      through a common interface, so it was easier to adjust all block
      jobs at once, for consistency.  This patch is just code motion;
      there should be no user-visible change in behavior.
      
      * src/qemu/qemu_monitor.h (qemuMonitorBlockJob)
      (qemuMonitorBlockCommit, qemuMonitorDriveMirror): Change
      parameter type and scale.
      * src/qemu/qemu_monitor.c (qemuMonitorBlockJob)
      (qemuMonitorBlockCommit, qemuMonitorDriveMirror): Move scaling
      and overflow detection...
      * src/qemu/qemu_driver.c (qemuDomainBlockJobImpl)
      (qemuDomainBlockRebase, qemuDomainBlockCommit): ...here.
      (qemuDomainBlockCopy): Use bytes/sec.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      08cc14f7
    • E
      blockjob: split out block info monitor handling · ced81365
      Eric Blake 提交于
      Another layer of overly-multiplexed code that deserves to be
      split into obviously separate paths for query vs. modify.
      This continues the cleanup started in commit cefe0ba3.
      
      In the process, make some tweaks to simplify the logic when
      parsing the JSON reply.  There should be no user-visible
      semantic changes.
      
      * src/qemu/qemu_monitor.h (qemuMonitorBlockJob): Drop parameter.
      (qemuMonitorBlockJobInfo): New prototype.
      (BLOCK_JOB_INFO): Drop enum.
      * src/qemu/qemu_monitor_json.h (qemuMonitorJSONBlockJob)
      (qemuMonitorJSONBlockJobInfo): Likewise.
      * src/qemu/qemu_monitor.c (qemuMonitorBlockJob): Split...
      (qemuMonitorBlockJobInfo): ...into second function.
      * src/qemu/qemu_monitor_json.c (qemuMonitorJSONBlockJob): Move
      block info portions...
      (qemuMonitorJSONGetBlockJobInfo): ...here, and rename...
      (qemuMonitorJSONBlockJobInfo): ...and export.
      (qemuMonitorJSONGetBlockJobInfoOne): Alter return semantics.
      * src/qemu/qemu_driver.c (qemuDomainBlockPivot)
      (qemuDomainBlockJobImpl, qemuDomainGetBlockJobInfo): Adjust
      callers.
      * src/qemu/qemu_migration.c (qemuMigrationDriveMirror)
      (qemuMigrationCancelDriveMirror): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      ced81365
  6. 05 9月, 2014 6 次提交
    • J
      Don't include non-migratable features in host-model · de0aeafe
      Ján Tomko 提交于
      Commit fba6bc47 introduced support for the 'invtsc' feature,
      which blocks migration. We should not include it in the
      host-model CPU by default, because it's intended to be used
      with migration.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1138221
      de0aeafe
    • M
      conf: Fix even implicit labels · d869a6ea
      Michal Privoznik 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1027096#c8
      
      There are two ways in which security model can make it way into
      <seclabel/>. One is as the @model attribute, the second one is
      via security_driver knob in qemu.conf. Then, while parsing
      <seclabel/> several checks and fix ups of old, stale combinations
      are performed. However, iff @model is specified. They are not
      done in the latter case. So it's still possible to feed libvirt
      with senseless combinations (if qemu.conf is adjusted correctly).
      
      One example of a seclabel that needs some adjustment (in case
      security_driver=none in qemu.conf) is:
      
          <seclabel type='dynamic' relabel='yes'/>
      
      The fixup code is copied from virSecurityLabelDefParseXML
      (covering the former case) into virSecurityLabelDefsParseXML
      (which handles the latter case).
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      d869a6ea
    • E
      blockjob: split out block info driver handling · cefe0ba3
      Eric Blake 提交于
      The qemu implementation for virDomainGetBlockJobInfo() has a
      minor bug: it grabs the qemu job with intent to QEMU_JOB_MODIFY,
      which means it cannot be run in parallel with any other
      domain-modifying command.  Among others, virDomainBlockJobAbort()
      is such a modifying command, and it defaults to being
      synchronous, and can wait as long as several seconds to ensure
      that the job has actually finished.  Due to the job rules, this
      means a user cannot obtain status about the job during that
      timeframe, even though we know that some client management code
      exists which is using a polling loop on status to see when a job
      finishes.
      
      This bug has been present ever since blockpull support was first
      introduced (commit b976165c, v0.9.4 in Jul 2011), all because we
      stupidly tried to cram too much multiplexing through a single
      helper routine, but was made worse in 97c59b9c (v1.2.7) when
      BlockJobAbort was fixed to wait longer.  It's time to disentangle
      some of the mess in qemuDomainBlockJobImpl, and in the process
      relax block job query to use QEMU_JOB_QUERY, since it can safely
      be used in parallel with any long running modify command.
      
      Technically, there is one case where getting block job info can
      modify domain XML - we do snooping to see if a 2-phase job has
      transitioned into the second phase, for an optimization in the
      case of old qemu that lacked an event for the transition.  I
      claim this optimization is safe (the jobs are all about modifying
      qemu state, not necessarily xml state); but if it proves to be
      a problem, we could use the difference between the capabilities
      QEMU_CAPS_BLOCKJOB_{ASYNC,SYNC} to determine whether we even
      need snooping, and only request a modifying job in the case of
      older qemu.
      
      * src/qemu/qemu_driver.c (qemuDomainBlockJobImpl): Move info
      handling...
      (qemuDomainGetBlockJobInfo): ...here, and relax job type.
      (qemuDomainBlockJobAbort, qemuDomainBlockJobSetSpeed)
      (qemuDomainBlockRebase, qemuDomainBlockPull): Adjust callers.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      cefe0ba3
    • E
      blockjob: shuffle block rebase code · 02d2bd7d
      Eric Blake 提交于
      The existing virDomainBlockRebase code rejected the combination of
      _RELATIVE and _COPY flags, but only by accident.  It makes sense
      to add support for the combination someday, at least for the case
      of _SHALLOW and not _REUSE_EXT; but to implement it, libvirt would
      have to pre-create the file with a relative backing name, and I'm
      not ready to code that in yet.
      
      Meanwhile, the code to forward on to the block copy code is getting
      longer, and reorganizing the function to have the block pull done
      early makes it easier to add even more block copy prep code.
      
      This patch should have no semantic difference other than the quality
      of the error message on the unsupported flag combination.  Pre-patch:
      
      error: unsupported flags (0x10) in function qemuDomainBlockCopy
      
      Post-patch:
      
      error: argument unsupported: Relative backing during copy not supported yet
      
      * src/qemu/qemu_driver.c (qemuDomainBlockRebase): Reorder code,
      and improve error message of relative copy.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      02d2bd7d
    • E
      maint: use hanging curly braces · 625e04a8
      Eric Blake 提交于
      Our style overwhelmingly uses hanging braces (the open brace
      hangs at the end of the compound condition, rather than on
      its own line), with the primary exception of the top level function
      body.  Fix the few remaining outliers, before adding a syntax
      check in a later patch.
      
      * src/interface/interface_backend_netcf.c (netcfStateReload)
      (netcfInterfaceClose, netcf_to_vir_err): Correct use of { in
      compound statement.
      * src/conf/domain_conf.c (virDomainHostdevDefFormatSubsys)
      (virDomainHostdevDefFormatCaps): Likewise.
      * src/network/bridge_driver.c (networkAllocateActualDevice):
      Likewise.
      * src/util/virfile.c (virBuildPathInternal): Likewise.
      * src/util/virnetdev.c (virNetDevGetVirtualFunctions): Likewise.
      * src/util/virnetdevmacvlan.c
      (virNetDevMacVLanVPortProfileCallback): Likewise.
      * src/util/virtypedparam.c (virTypedParameterAssign): Likewise.
      * src/util/virutil.c (virGetWin32DirectoryRoot)
      (virFileWaitForDevices): Likewise.
      * src/vbox/vbox_common.c (vboxDumpNetwork): Likewise.
      * tests/seclabeltest.c (main): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      625e04a8
    • E
      maint: use consistent if-else braces in remaining spots · d194d6e7
      Eric Blake 提交于
      I'm about to add a syntax check that enforces our documented
      HACKING style of always using matching {} on if-else statements.
      
      This patch focuses on all remaining problems, where there weren't
      enough issues to warrant splitting it further.
      
      * src/remote/remote_driver.c (doRemoteOpen): Correct use of {}.
      * src/security/virt-aa-helper.c (vah_add_path, valid_path, main):
      Likewise.
      * src/rpc/virnetsocket.c (virNetSocketNewConnectLibSSH2):
      Likewise.
      * src/esx/esx_vi_types.c (esxVI_Type_FromString): Likewise.
      * src/uml/uml_driver.c (umlDomainDetachDevice): Likewise.
      * src/util/viralloc.c (virShrinkN): Likewise.
      * src/util/virbuffer.c (virBufferURIEncodeString): Likewise.
      * src/util/virdbus.c (virDBusCall): Likewise.
      * src/util/virnetdev.c (virNetDevValidateConfig): Likewise.
      * src/util/virnetdevvportprofile.c
      (virNetDevVPortProfileGetNthParent): Likewise.
      * src/util/virpci.c (virPCIDeviceIterDevices)
      (virPCIDeviceWaitForCleanup)
      (virPCIDeviceIsBehindSwitchLackingACS): Likewise.
      * src/util/virsocketaddr.c (virSocketAddrGetNumNetmaskBits):
      Likewise.
      * src/util/viruri.c (virURIParseParams): Likewise.
      * daemon/stream.c (daemonStreamHandleAbort): Likewise.
      * tests/testutils.c (virtTestResult): Likewise.
      * tests/cputest.c (cpuTestBaseline): Likewise.
      * tools/virsh-domain.c (cmdDomPMSuspend): Likewise.
      * tools/virsh-host.c (cmdNodeSuspend): Likewise.
      * src/esx/esx_vi_generator.py (Type.generate_typefromstring):
      Tweak generated code.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      d194d6e7
  7. 04 9月, 2014 9 次提交
    • E
      maint: use consistent if-else braces in lxc, vbox, phyp · 279b1b10
      Eric Blake 提交于
      I'm about to add a syntax check that enforces our documented
      HACKING style of always using matching {} on if-else statements.
      
      This patch focuses on drivers that had several issues.
      
      * src/lxc/lxc_fuse.c (lxcProcGetattr, lxcProcReadMeminfo): Correct
      use of {}.
      * src/lxc/lxc_driver.c (lxcDomainMergeBlkioDevice): Likewise.
      * src/phyp/phyp_driver.c (phypConnectNumOfDomainsGeneric)
      (phypUUIDTable_Init, openSSHSession, phypStoragePoolListVolumes)
      (phypConnectListStoragePools, phypDomainSetVcpusFlags)
      (phypStorageVolGetXMLDesc, phypStoragePoolGetXMLDesc)
      (phypConnectListDefinedDomains): Likewise.
      * src/vbox/vbox_common.c (vboxAttachSound, vboxDumpDisplay)
      (vboxDomainRevertToSnapshot, vboxDomainSnapshotDelete): Likewise.
      * src/vbox/vbox_tmpl.c (vboxStorageVolGetXMLDesc): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      279b1b10
    • E
      maint: use consistent if-else braces in xen and friends · fb6d6507
      Eric Blake 提交于
      I'm about to add a syntax check that enforces our documented
      HACKING style of always using matching {} on if-else statements.
      
      This patch focuses on code related to xen.
      
      * src/libxl/libxl_conf.c (libxlCapsInitGuests)
      (libxlMakeDomBuildInfo): Correct use of {}.
      * src/xen/xen_hypervisor.c (virXen_getvcpusinfo)
      (xenHypervisorMakeCapabilitiesInternal): Likewise.
      * src/xen/xend_internal.c (xenDaemonOpen)
      (xenDaemonDomainMigratePerform, xend_detect_config_version)
      (xenDaemonDetachDeviceFlags, xenDaemonDomainMigratePerform)
      (xenDaemonDomainBlockPeek): Likewise.
      * src/xenapi/xenapi_driver.c (xenapiConnectListDomains)
      (xenapiDomainLookupByUUID, xenapiDomainGetOSType): Likewise.
      * src/xenconfig/xen_common.c (xenParseCPUFeatures, xenFormatNet):
      Likewise.
      * src/xenconfig/xen_sxpr.c (xenParseSxpr, xenFormatSxprNet)
      (xenFormatSxpr): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      fb6d6507
    • E
      maint: use consistent if-else braces in qemu · 44e30277
      Eric Blake 提交于
      I'm about to add a syntax check that enforces our documented
      HACKING style of always using matching {} on if-else statements.
      
      This commit focuses on the qemu driver.
      
      * src/qemu/qemu_command.c (qemuParseISCSIString)
      (qemuParseCommandLineDisk, qemuParseCommandLine)
      (qemuBuildSmpArgStr, qemuBuildCommandLine)
      (qemuParseCommandLineDisk, qemuParseCommandLineSmp): Correct use
      of {}.
      * src/qemu/qemu_capabilities.c (virQEMUCapsProbeCPUModels):
      Likewise.
      * src/qemu/qemu_driver.c (qemuDomainCoreDumpWithFormat)
      (qemuDomainRestoreFlags, qemuDomainGetInfo)
      (qemuDomainMergeBlkioDevice): Likewise.
      * src/qemu/qemu_hotplug.c (qemuDomainAttachNetDevice): Likewise.
      * src/qemu/qemu_monitor_text.c (qemuMonitorTextCreateSnapshot)
      (qemuMonitorTextLoadSnapshot, qemuMonitorTextDeleteSnapshot):
      Likewise.
      * src/qemu/qemu_process.c (qemuProcessStop): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      44e30277
    • E
      maint: use consistent if-else braces in conf and friends · ff78ff7c
      Eric Blake 提交于
      I'm about to add a syntax check that enforces our documented
      HACKING style of always using matching {} on if-else statements.
      
      This patch focuses on code shared between multiple drivers.
      
      * src/conf/domain_conf.c (virDomainFSDefParseXML)
      (virSysinfoParseXML, virDomainNetDefParseXML)
      (virDomainWatchdogDefParseXML)
      (virDomainRedirFilterUSBDevDefParseXML): Correct use of {}.
      * src/conf/interface_conf.c (virInterfaceDefParseDhcp)
      (virInterfaceDefParseIp, virInterfaceVlanDefFormat)
      (virInterfaceDefParseStartMode, virInterfaceDefParseBondMode)
      (virInterfaceDefParseBondMiiCarrier)
      (virInterfaceDefParseBondArpValid): Likewise.
      * src/conf/node_device_conf.c (virNodeDevCapStorageParseXML):
      Likewise.
      * src/conf/nwfilter_conf.c (virNWFilterRuleDetailsParse)
      (virNWFilterRuleParse, virNWFilterDefParseXML): Likewise.
      * src/conf/secret_conf.c (secretXMLParseNode): Likewise.
      * src/cpu/cpu_x86.c (x86Baseline, x86FeatureLoad, x86ModelLoad):
      Likewise.
      * src/network/bridge_driver.c (networkKillDaemon)
      (networkDnsmasqConfContents): Likewise.
      * src/node_device/node_device_hal.c (dev_refresh): Likewise.
      * src/nwfilter/nwfilter_gentech_driver.c (virNWFilterInstantiate):
      Likewise.
      * src/nwfilter/nwfilter_ebiptables_driver.c
      (_iptablesCreateRuleInstance): Likewise.
      * src/storage/storage_backend_disk.c
      (virStorageBackendDiskBuildPool): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      ff78ff7c
    • C
      LXC: add HOME environment variable · 3020594a
      Chen Hanxiao 提交于
      We lacked of HOME environment variable,
      set 'HOME=/' as default.
      
      The kernel sets up $HOME for the init process.
      Therefore any init can assume that $HOME is set.
      libvirt currently violates that implicit rule.
      Signed-off-by: NChen Hanxiao <chenhanxiao@cn.fujitsu.com>
      Signed-off-by: NEric Blake <eblake@redhat.com>
      3020594a
    • G
      security: fix DH key generation when FIPS mode is on · ab220967
      Giuseppe Scrivano 提交于
      When FIPS mode is on, gnutls_dh_params_generate2 will fail if 1024 is
      specified as the prime's number of bits, a bigger value works in both
      cases.
      Signed-off-by: NGiuseppe Scrivano <gscrivan@redhat.com>
      ab220967
    • W
      lxc_container: Resolve Coverity RESOURCE_LEAK · 5bb47e0c
      Wang Rui 提交于
      Memory is allocated for 'mnt_src' by VIR_STRDUP in the loop. Next
      loop it will be allocated again. So we need to free 'mnt_src'
      before continue the loop.
      Signed-off-by: NWang Rui <moon.wangrui@huawei.com>
      5bb47e0c
    • W
      vircgroup: Resolve Coverity RESOURCE_LEAK · d01a062b
      Wang Rui 提交于
      Need to free 'root' and 'opts' before 'return -1' if symlink fails.
      Signed-off-by: NWang Rui <moon.wangrui@huawei.com>
      d01a062b
    • W
      qemu_process: Resolve Coverity RESOURCE_LEAK · 4f2ad084
      Wang Rui 提交于
      If virSecurityManagerClearSocketLabel() fails, 'agent' won't
      be freed before jumping to cleanup.
      Signed-off-by: NWang Rui <moon.wangrui@huawei.com>
      4f2ad084
  8. 03 9月, 2014 3 次提交
  9. 02 9月, 2014 3 次提交