1. 24 4月, 2014 5 次提交
  2. 23 4月, 2014 1 次提交
    • L
      PPC64 prefers to set pci-ohci controller as default USB controller. · 7b6b9d38
      Li Zhang 提交于
      Currently, libvirt is using legacy USB controller as default. There
      are problems with VGA which can't work correctly with USB Keyboard and
      USB Mouse.
      
      While providing -nodefaults, ppc64 should be specifying the usb
      controller explicitly in place of using the legacy
      controller(-usb). Qemu spapr initialization code when sees "-usb" adds a
      USB Keyboard and USB Mouse by default. And libvirt has added a USB
      keyboard and USB mouse.
      
      A recent fix in the in qemu VGA code uncoverd this problem, which
      resulted in addition of extra keyboard and mouse to the qemu machine.
      
      This patch is to set pci-ohci as USB default controller.
      Signed-off-by: NLi Zhang <zhlcindy@linux.vnet.ibm.com>
      7b6b9d38
  3. 22 4月, 2014 1 次提交
  4. 16 4月, 2014 3 次提交
    • E
      conf: fix omission of <driver> in domain dumpxml · 8fb44675
      Eric Blake 提交于
      I noticed that depending on the <driver> attributes the user passed
      in, the output may omit the <driver> element altogether.  For example,
      the rerror_policy has had this problem since commit 4bb4109f in Oct
      2011.  But in adding testsuite coverage to expose it, I found another
      problem: the C code is just fine without a driver name, but the
      XML validator required either a name or a cache mode.
      
      * src/conf/domain_conf.c (virDomainDiskDefFormat): Update
      conditional.
      * docs/schemas/domaincommon.rng (diskDriver): Simplify.
      * tests/qemuxml2argvdata/qemuxml2argv-disk-drive-copy-on-read.xml:
      * tests/qemuxml2argvdata/qemuxml2argv-disk-drive-copy-on-read.args:
      New files.
      * tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.xml:
      Enhance test.
      * tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-discard.xml:
      Likewise.
      * tests/qemuxml2argvtest.c (mymain): New test.
      * tests/qemuxml2xmltest.c (mymain): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      8fb44675
    • E
      conf: split <disk> schema into more pieces · fec1a939
      Eric Blake 提交于
      To make <disk> schema more maintainable and to allow for moving the
      pieces to a common file in the future. It relies on the ability to
      override definitions as part of an include, set up in the previous
      patch.
      
      The diff is a bit hard to read, because it mixes reindentation
      with refactoring; 'git diff -b --patience' may help.
      
      * docs/schemas/domaincommon.rng (disk): Refactor into pieces.
      (diskSource, diskSourceFile, diskSourceBlock, diskSourceDir)
      (diskSourceVolume: New defines.
      (diskSourceNetwork): Revise scope.
      * docs/schemas/domainsnapshot.rng (disksnapshot): Adjust.
      * tests/domainsnapshotxml2xmlin/disk-seclabel-invalid.xml,
      tests/domainsnapshotxml2xmlin/disk-network-seclabel-invalid.xml: New
      tests to check seclabel is forbidden in domain snapshot by schema.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      fec1a939
    • E
      conf: set up for per-grammar overrides in schemas · 369cdfa8
      Eric Blake 提交于
      This patch is my first experience playing with nested grammars,
      as documented in http://relaxng.org/tutorial-20011203.html#IDA3PZR.
      I plan on doing more overrides in order to make the RelaxNG
      grammar mirror the C code refactoring into a common
      virStorageSource, but where different clients of that source do
      not support the same subset of functionality.  By starting with
      something fairly easy to validate, I can make sure my later
      patches will be possible.
      
      This patch adds a use of the no-op <ref
      name='sourceStartupPolicy'/> to the disksnapshot definition, so
      that the snapshot version of a type='file' <source> more closely
      resembles the version in domaincommon.  A future patch will merge
      the two files into using a common define, but this patch is
      sufficient for testing that adding <source
      startupPolicy='optional'/> in any of the
      tests/domainsnapshotxml2xmlin/*.xml files still gets rejected
      unless it occurs within the <domain> subelement, because the
      definition of startupPolicy is empty outside of domain.rng.
      
      * docs/schemas/storagecommon.rng (storageStartupPolicy)
      (storageSourceExtra): Create no-op defaults.
      * docs/schemas/domainsnapshot.rng (domain): Use nested grammar
      to avoid restricting <domain>.
      (storageSourceExtra): Create new override.
      (disksnapshot): Access overrides through common names.
      * docs/schemas/domaincommon.rng (disk): Access overrides through
      common names.
      * docs/schemas/domain.rng (storageStartupPolicy)
      (storageSourceExtra): Create new overrides.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      369cdfa8
  5. 15 4月, 2014 1 次提交
    • E
      conf: better <disk> interleaving in schema · a9efe2d7
      Eric Blake 提交于
      In general, we try to make virt-xml-validate tolerant of input
      elements in any order when possible.  However, as written, the
      RNG grammar did not permit <source> unless there was an explicit
      type= attribute (even though the C code manages just fine by
      defaulting to type='file').  After making the attribute optional
      on the 'file' branch, I noticed that the use of diskspec was now
      redundant with the branch when no <source> was supplied.
      
      View this patch with 'git diff -b' for a better picture of the
      schema change.
      
      * docs/schemas/domaincommon.rng (disk): Hoist 'diskspec' out of
      choice, make type='file' default, and still preserve interleave.
      * tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-source-pool.xml:
      * tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-discard.xml:
      New files.
      * tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool.xml:
      * tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.xml:
      Reorder XML.
      * tests/qemuxml2xmltest.c (mymain): Cover new files.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      a9efe2d7
  6. 12 4月, 2014 6 次提交
    • E
      conf: delete internal directory field · e0292e0c
      Eric Blake 提交于
      Another field no longer needed, getting us one step closer to
      merging virStorageFileMetadata and virStorageSource.
      
      * src/util/virstoragefile.h (_virStorageFileMetadata): Drop
      field.
      * src/util/virstoragefile.c (virStorageFileGetMetadataInternal)
      (virStorageFileGetMetadataFromFDInternal): Alter signature.
      (virStorageFileFreeMetadata, virStorageFileGetMetadataFromBuf)
      (virStorageFileGetMetadataFromFD): Adjust clients.
      * tests/virstoragetest.c (_testFileData, testStorageChain)
      (mymain): Simplify test.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      e0292e0c
    • E
      conf: tweak chain lookup internals · d193b34d
      Eric Blake 提交于
      Thanks to the testsuite, I feel quite confident that this rewrite
      is correct; it gives the same results for all cases except for one.
      I can make the argument that _that_ case was a pre-existing bug:
      when looking up relative names, the lookup is supposed to be
      pegged to the directory that contains the parent qcow2 file.  Thus,
      this resolves the fixme first mentioned in commit 367cd69d (even
      though I accidentally removed the fixme comment early in 74430fe3).
      
      * src/util/virstoragefile.c (virStorageFileChainLookup): Depend on
      new rather than old fields.
      * tests/virstoragetest.c (mymain): Adjust test to match fix.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      d193b34d
    • E
      conf: drop redundant parameter to chain lookup · 74430fe3
      Eric Blake 提交于
      The original chain lookup code had to pass in the starting name,
      because it was not available in the chain.  But now that we have
      added fields to the struct, this parameter is redundant.
      
      * src/util/virstoragefile.h (virStorageFileChainLookup): Alter
      signature.
      * src/util/virstoragefile.c (virStorageFileChainLookup): Adjust
      handling of top of chain.
      * src/qemu/qemu_driver.c (qemuDomainBlockCommit): Adjust caller.
      * tests/virstoragetest.c (testStorageLookup, mymain): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      74430fe3
    • E
      conf: test backing chain lookup · 367cd69d
      Eric Blake 提交于
      I realized that we had no good test coverage of looking up a
      name from within a backing chain, even though code like
      block-commit is relying on it.
      
      * tests/virstoragetest.c (testStorageLookup): New function.
      (mymain): New tests.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      367cd69d
    • C
      Introduce --without-pm-utils to get rid of pm-is-supported dependency · ec70f369
      Cédric Bosdonnat 提交于
      This uses the dbus api of systemd to check the power management
      capabilities of the node.
      ec70f369
    • E
      tests: drop dead code from argv2xml and xml2xml · c839017a
      Eric Blake 提交于
      Noticed while tweaking the RelaxNG grammar for <disk> elements.
      
      * tests/qemuxml2xmloutdata/qemuxml2xmlout-numad-static-vcpu-no-numatune.xml:
      * tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-cdrom-empty.xml:
      Drop unused files.
      * tests/qemuargv2xmltest.c (testInfo, DO_TEST_FULL): Drop unused
      field.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      c839017a
  7. 11 4月, 2014 5 次提交
    • E
      conf: delete useless backingStoreFormat field · 86cfa1f6
      Eric Blake 提交于
      Drop another redundant field from virStorageFileMetadata.
      
      * src/util/virstoragefile.h (_virStorageFileMetadata): Drop
      field.
      * src/util/virstoragefile.c
      (virStorageFileGetMetadataFromFDInternal)
      (virStorageFileGetMetadataFromFD)
      (virStorageFileGetMetadataRecurse): Adjust callers.
      * tests/virstoragetest.c (_testFileData, testStorageChain)
      (mymain): Simplify test.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      86cfa1f6
    • E
      conf: delete useless backingStoreIsFile field · c919ed7e
      Eric Blake 提交于
      Finally starting to prune away some of the old fields that have
      been made redundant by the new fields, on my way towards directly
      reusing virStorageSource.
      
      * src/util/virstoragefile.h (_virStorageFileMetadata): Drop
      field.
      * src/util/virstoragefile.c (virStorageFileGetMetadataInternal)
      (virStorageFileChainLookup): Adjust callers.
      * tests/virstoragetest.c (_testFileData, testStorageChain)
      (mymain): Simplify test.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      c919ed7e
    • E
      conf: provide details on network backing store · 7010768c
      Eric Blake 提交于
      So far, my work has been merely preserving the status quo of
      backing file analysis.  But this patch starts to tread in the
      territory of making the backing chain code more powerful - we
      will eventually support network storage containing non-raw
      formats.  Here, we expose metadata information about a network
      backing store, even if that information is still hardcoded to
      a raw format for now.
      
      * src/util/virstoragefile.c (virStorageFileGetMetadataRecurse):
      Also populate struct for non-file backing.
      (virStorageFileGetMetadata, virStorageFileGetMetadatainternal):
      Recognize non-file top image.
      (virFindBackingFile): Add comment.
      (virStorageFileChainGetBroken): Adjust comment, ensure output
      is set.
      * tests/virstoragetest.c (mymain): Update test to reflect it.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      7010768c
    • E
      conf: make virstoragetest debug easier · aa506b46
      Eric Blake 提交于
      I'm tired of alternating between test failures due to bugs in
      my refactoring work, vs. test failures due to leftovers in
      the file system from the previous test.  This patch has no
      impact when the testsuite is successful, but doeesn't hurt either.
      
      * tests/virstoragetest.c (testPrepImages): Clean up from prior
      failed test.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      aa506b46
    • J
      tests: Fix systemd test with --without-driver-modules · 844a5c1e
      Jiri Denemark 提交于
      Every test that makes use of virmock.h (only virsystemdtest as of now)
      needs to be linked with -export-dynamic to make sure the LD_PRELOADed
      mock library can access its wrap_* symbols. Normally,
      DRIVER_MODULE_LDFLAGS variable contains -export-dynamic but when
      --without-driver-modules configure option is used, DRIVER_MODULE_LDFLAGS
      is empty.
      
      This patch turns on -export-dynamic for all tests unconditionally
      regardless on --without-driver-modules. This fixes virsystemdtest and
      all future users of virmock.h.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      844a5c1e
  8. 09 4月, 2014 10 次提交
    • J
      Extend virCgroupGetPercpuStats to fill in vcputime too · 897808e7
      Ján Tomko 提交于
      Currently, virCgroupGetPercpuStats is only used by the LXC driver,
      filling out the CPUTIME stats. qemuDomainGetPercpuStats does this
      and also filles out VCPUTIME stats.
      
      Extend virCgroupGetPercpuStats to also report VCPUTIME stats if
      nvcpupids is non-zero. In the LXC driver, we don't have cpupids.
      In the QEMU driver, there is at least one cpupid for a running domain,
      so the behavior shouldn't change for QEMU either.
      
      Also rename getSumVcpuPercpuStats to virCgroupGetPercpuVcpuSum.
      897808e7
    • E
      conf: test for more fields · 63fb7863
      Eric Blake 提交于
      Validate that all the new fields are getting set to desired values.
      
      * tests/virstoragetest.c (_testFileData, testStorageChain): Check
      for more fields.
      (mymain): Populate additional fields.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      63fb7863
    • E
      conf: start testing contents of the new backing chain fields · 6d698220
      Eric Blake 提交于
      The testsuite is absolutely essential to feeling comfortable
      about swapping the backing chain structure over to a new format.
      This patch tests the path settings, and demonstrates that the
      correct short name is being passed to the child.
      
      * tests/virstoragetest.c (testStorageChain): Test path.
      (mymain): Update expected data.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      6d698220
    • E
      conf: rename some test fields · 4a349efc
      Eric Blake 提交于
      A later patch will be adding some new fields to
      virStorageFileMetadata; to minimize confusion, renaming the
      test fields now will make it more obvious which fields are
      being tested later.
      
      * tests/virstoragetest.c (_testFileData): Alter names.
      (testStorageChain, mymain): Adjust clients.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      4a349efc
    • J
      build: avoid compiler warning on shadowed name · a18c7130
      Jean-Baptiste Rouault 提交于
      Introduced in commit d1e55de3.
      virstoragetest.c: In function ‘testStorageChain’:
      virstoragetest.c:249:10: warning: declaration of ‘abs’ shadows a global
      declaration [-Wshadow]
      a18c7130
    • R
      tests: use virBhyveCapsBuild in bhyvexml2argv test · 548f21d0
      Roman Bogorodskiy 提交于
      As we can use virBhyveCapsBuild() now, replace
      testBhyveBuildCapabilities() with it.
      548f21d0
    • E
      conf: another refactor of virstoragetest · d1e55de3
      Eric Blake 提交于
      Another reduction in the number of structs I have to modify
      when I start tracking new fields in virStorageFileMetadata.
      
      * tests/virstoragetest.c (_testFileData): Add fields.
      (testStorageChain): Select between fields based on flag.
      (mymain): Record both absolute and relative expectations in one
      struct.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      d1e55de3
    • E
      conf: interleave virstoragetest structs · 34861333
      Eric Blake 提交于
      As I add more tests, it's getting harder to follow the split between
      a struct in one place and a test using the struct in another.
      Interleaving the tests makes changes more localized, and also makes
      debugging easier when a test goes wrong during my refactoring work.
      
      * tests/virstoragetest.c (mymain): Modify structs as we go, rather
      than up-front.
      (testStorageChain): Make failure debugging easier.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      34861333
    • E
      conf: test for more scenarios · fcc7d0ed
      Eric Blake 提交于
      Part of the upcoming refactoring will change how broken chains
      are detected; it makes sense to test that this works.  In
      particular, test the just-fixed infinite loop detection bug.
      Also, make sure that detection of directories is sane.
      
      * tests/virstoragetest.c (testStorageChain): Enhance test.
      (mymain): Add more tests.
      (testCleanupImages, testPrepImages): Populate a directory.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      fcc7d0ed
    • R
      tests: add bhyve xml2xml test · 6d7a287c
      Roman Bogorodskiy 提交于
      The only implemented test for now is domain metadata test.
      6d7a287c
  9. 08 4月, 2014 7 次提交
  10. 07 4月, 2014 1 次提交
    • E
      hash: add common utility functions · 09567144
      Eric Blake 提交于
      I almost wrote a hash value free function that just called
      VIR_FREE, then realized I couldn't be the first person to
      do that.  Sure enough, it was worth factoring into a common
      helper routine.
      
      * src/util/virhash.h (virHashValueFree): New function.
      * src/util/virhash.c (virHashValueFree): Implement it.
      * src/util/virobject.h (virObjectFreeHashData): New function.
      * src/libvirt_private.syms (virhash.h, virobject.h): Export them.
      * src/nwfilter/nwfilter_learnipaddr.c (virNWFilterLearnInit): Use
      common function.
      * src/qemu/qemu_capabilities.c (virQEMUCapsCacheNew): Likewise.
      * src/qemu/qemu_command.c (qemuDomainCCWAddressSetCreate):
      Likewise.
      * src/qemu/qemu_monitor.c (qemuMonitorGetBlockInfo): Likewise.
      * src/qemu/qemu_process.c (qemuProcessWaitForMonitor): Likewise.
      * src/util/virclosecallbacks.c (virCloseCallbacksNew): Likewise.
      * src/util/virkeyfile.c (virKeyFileParseGroup): Likewise.
      * tests/qemumonitorjsontest.c
      (testQemuMonitorJSONqemuMonitorJSONGetBlockInfo): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      09567144