1. 23 11月, 2012 1 次提交
  2. 20 11月, 2012 2 次提交
    • E
      snapshot: expose location through virsh snapshot-info · 0f9b6ee4
      Eric Blake 提交于
      Now that we can filter on this information, we should also make
      it easy to get at.
      
      * tools/virsh-snapshot.c (cmdSnapshotInfo): Add another output
      row, and switch to XPath queries rather than strstr.
      0f9b6ee4
    • E
      snapshot: add virsh back-compat support for new filters · 1d272e8f
      Eric Blake 提交于
      Snapshot filtering based on types is useful enough to add
      back-compat support into virsh.  It is also rather easy - all
      versions of libvirt that don't understand the new filter flags
      already gave us sufficient information in a single XML field
      to reconstruct all the information we need (that is, it isn't
      until libvirt 1.0.1 that we have more interesting types of
      snapshots, such as offline external).
      
      * tools/virsh-snapshot.c (vshSnapshotFilter): New function.
      (vshSnapshotListCollect): Add fallback support.
      1d272e8f
  3. 19 11月, 2012 1 次提交
    • E
      snapshot: add two more filter sets to API · e9028f4b
      Eric Blake 提交于
      As we enable more modes of snapshot creation, it becomes more important
      to be able to quickly filter based on snapshot properties.  This patch
      introduces new filter flags; subsequent patches will introduce virsh
      back-compat filtering, as well as actual libvirt filtering.
      
      * include/libvirt/libvirt.h.in (virDomainSnapshotListFlags): Add
      five new flags in two new groups.
      * src/libvirt.c (virDomainSnapshotNum, virDomainSnapshotListNames)
      (virDomainListAllSnapshots, virDomainSnapshotNumChildren)
      (virDomainSnapshotListChildrenNames)
      (virDomainSnapshotListAllChildren): Document them.
      * src/conf/snapshot_conf.h (VIR_DOMAIN_SNAPSHOT_FILTERS_STATUS)
      (VIR_DOMAIN_SNAPSHOT_FILTERS_LOCATION): Add new convenience filter
      collection macros.
      * tools/virsh-snapshot.c (cmdSnapshotList): Add 5 new flags.
      * tools/virsh.pod (snapshot-list): Document them.
      e9028f4b
  4. 16 11月, 2012 3 次提交
  5. 15 11月, 2012 1 次提交
  6. 08 11月, 2012 3 次提交
    • G
      Fix "virsh create" example · d49adae2
      Guido Günther 提交于
      We require a file and don't accept standard input:
      
      http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=692322
      d49adae2
    • E
      virsh: add snapshot-create-as memspec support · 2cd4d8e5
      Eric Blake 提交于
      External checkpoints could be created with snapshot-create, but
      without libvirt supplying a default name for the memory file,
      it is essential to add a new argument to snapshot-create-as to
      allow the user to choose the memory file name.  This adds the
      option --memspec [file=]name[,snapshot=type], where type can
      be none, internal, or external.  For an example,
      
      virsh snapshot-create-as $dom --memspec /path/to/file
      
      is the shortest possible command line for creating an external
      checkpoint, named after the current timestamp.
      
      * tools/virsh-snapshot.c (vshParseSnapshotMemspec): New function.
      (cmdSnapshotCreateAs): Use it.
      * tests/virsh-optparse (test_url): Test it.
      * tools/virsh.pod (snapshot-create-as): Document it.
      2cd4d8e5
    • E
      virsh: make ,, escape parsing common · 9d91a18e
      Eric Blake 提交于
      So far, none of the existing callers of vshStringToArray expected
      the user to ever pass a literal comma; meanwhile, snapshot parsing
      had rolled its own array parser.  Moving the comma escaping into
      the common function won't affect any existing callers, and will make
      this function reusable for adding memory handling to snapshot parsing.
      
      As a bonus, the testsuite was already testing snapshot parsing, so
      the fact that the test still passes means that we are now giving
      testsuite exposure to vshStringToArray.
      
      * tools/virsh-snapshot.c (vshParseSnapshotDiskspec): Move ,,
      parsing...
      * tools/virsh.c (vshStringToArray): ...into common function.
      Also, vshStrdup can't fail.
      9d91a18e
  7. 06 11月, 2012 2 次提交
    • E
      virsh: document which term is older · 5f63a5cb
      Eric Blake 提交于
      Make it clear that the alternate terms have no difference except
      for length of time they were supported.
      
      * tools/virsh.pod (start, shutdown, reboot): More documentation.
      5f63a5cb
    • E
      virsh: add aliases 'boot', 'stop', and 'restart' · ff86b0c9
      Eric Blake 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=873344 suggested that
      the grouping 'boot', 'shutdown', 'reboot'; as well as the grouping
      'start', 'stop', 'restart'; might be easier to remember than the
      current mix of 'start', 'shutdown', 'reboot'.
      
      Also, touch up the wording of 'reboot' to be more accurate.
      
      * tools/virsh-domain.c (domManagementCmds): Add other command names.
      * tools/virsh.pod (start, shutdown, reboot): Document the aliases.
      ff86b0c9
  8. 03 11月, 2012 1 次提交
    • P
      snapshot: Add flag to enable creating checkpoints in live state · 5f75bd4b
      Peter Krempa 提交于
      The default behavior while creating external checkpoints is to pause the
      guest while the memory state is captured. We want the users to sacrifice
      space saving for creating the memory save image while the guest is live
      to minimize downtime.
      
      This patch adds a flag that causes the guest not to be paused before
      taking the snapshot.
       *include/libvirt/libvirt.h.in:
          - add new paused reason: VIR_DOMAIN_PAUSED_SNAPSHOT
          - add new flag for taking snapshot: VIR_DOMAIN_SNAPSHOT_CREATE_LIVE
       *tools/virsh-domain-monitor.c:
          - add string representation for VIR_DOMAIN_PAUSED_SNAPSHOT
       *tools/virsh-snapshot.c:
          - add support for VIR_DOMAIN_SNAPSHOT_CREATE_LIVE
       *tools/virsh.pod:
          - add docs for --live option added to use
          VIR_DOMAIN_SNAPSHOT_CREATE_LIVE flag
      5f75bd4b
  9. 02 11月, 2012 1 次提交
  10. 01 11月, 2012 2 次提交
    • M
      net-update docs: s/domain/network/ · d1236faa
      Michal Privoznik 提交于
      A leftover from copy paste.
      d1236faa
    • E
      build: prefer mkostemp for multi-thread safety · 4dbd6e96
      Eric Blake 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=871756
      
      Commit cd1e8d1c assumed that systems new enough to have journald
      also have mkostemp; but this is not true for uclibc.
      
      For that matter, use of mkstemp[s] is unsafe in a multi-threaded
      program.  We should prefer mkostemp[s] in the first place.
      
      * bootstrap.conf (gnulib_modules): Add mkostemp, mkostemps; drop
      mkstemp and mkstemps.
      * cfg.mk (sc_prohibit_mkstemp): New syntax check.
      * tools/virsh.c (vshEditWriteToTempFile): Adjust caller.
      * src/qemu/qemu_driver.c (qemuDomainScreenshot)
      (qemudDomainMemoryPeek): Likewise.
      * src/secret/secret_driver.c (replaceFile): Likewise.
      * src/vbox/vbox_tmpl.c (vboxDomainScreenshot): Likewise.
      4dbd6e96
  11. 27 10月, 2012 3 次提交
    • L
      qemu: fix attach/detach of netdevs with matching mac addrs · def31e4c
      Laine Stump 提交于
      This resolves:
      
         https://bugzilla.redhat.com/show_bug.cgi?id=862515
      
      which describes inconsistencies in dealing with duplicate mac
      addresses on network devices in a domain.
      
      (at any rate, it resolves *almost* everything, and prints out an
      informative error message for the one problem that isn't solved, but
      has a workaround.)
      
      A synopsis of the problems:
      
      1) you can't do a persistent attach-interface of a device with a mac
      address that matches an existing device.
      
      2) you *can* do a live attach-interface of such a device.
      
      3) you *can* directly edit a domain and put in two devices with
      matching mac addresses.
      
      4) When running virsh detach-device (live or config), only MAC address
      is checked when matching the device to remove, so the first device
      with the desired mac address will be removed. This isn't always the
      one that's wanted.
      
      5) when running virsh detach-interface (live or config), the only two
      items that can be specified to match against are mac address and model
      type (virtio, etc) - if multiple netdevs match both of those
      attributes, it again just finds the first one added and assumes that
      is the only match.
      
      Since it is completely valid to have multiple network devices with the
      same MAC address (although it can cause problems in many cases, there
      *are* valid use cases), what is needed is:
      
      1) remove the restriction that prohibits doing a persistent add of a
      netdev with a duplicate mac address.
      
      2) enhance the backend of virDomainDetachDeviceFlags to check for
      something that *is* guaranteed unique (but still work with just mac
      address, as long as it yields only a single results.
      
      This patch does three things:
      
      1) removes the check for duplicate mac address during a persistent
      netdev attach.
      
      2) unifies the searching for both live and config detach of netdevices
      in the subordinate functions of qemuDomainModifyDeviceFlags() to use the
      new function virDomainNetFindIdx (which matches mac address and PCI
      address if available, checking for duplicates if only mac address was
      specified). This function returns -2 if multiple matches are found,
      allowing the callers to print out an appropriate message.
      
      Steps 1 & 2 are enough to fully fix the problem when using virsh
      attach-device and detach-device (which require an XML description of
      the device rather than a bunch of commandline args)
      
      3) modifies the virsh detach-interface command to check for multiple
      matches of mac address and show an error message suggesting use of the
      detach-device command in cases where there are multiple matching mac
      addresses.
      
      Later we should decide how we want to input a PCI address on the virsh
      commandline, and enhance detach-interface to take a --address option,
      eliminating the need to use detach-device
      
      * src/conf/domain_conf.c
      * src/conf/domain_conf.h
      * src/libvirt_private.syms
        * added new virDomainNetFindIdx function
        * removed now unused virDomainNetIndexByMac and
          virDomainNetRemoveByMac
      
      * src/qemu/qemu_driver.c
        * remove check for duplicate max from qemuDomainAttachDeviceConfig
        * use virDomainNetFindIdx/virDomainNetRemove instead
          of virDomainNetRemoveByMac in qemuDomainDetachDeviceConfig
        * use virDomainNetFindIdx instead of virDomainIndexByMac
          in qemuDomainUpdateDeviceConfig
      
      * src/qemu/qemu_hotplug.c
        * use virDomainNetFindIdx instead of a homespun loop in
          qemuDomainDetachNetDevice.
      
      * tools/virsh-domain.c: modified detach-interface command as described
          above
      def31e4c
    • E
      build: fix syntax-check tab violation · 07049e4c
      Eric Blake 提交于
      * tools/Makefile.am: Fix tab damage in previous patch.
      07049e4c
    • E
      build: check for pod errors · 2639949a
      Eric Blake 提交于
      Patch 61299a1c fixed a long-standing pod error in the man page.
      But we should be preventing these up front.
      See also https://bugzilla.redhat.com/show_bug.cgi?id=870273
      
      * tools/Makefile.am (virt-xml-validate.1, virt-pki-validate.1)
      (virt-host-validate.1, virt-sanlock-cleanup.8, virsh.1): Reject
      pod conversion errors.
      * daemon/Makefile.am ($(srcdir)/libvirtd.8.in): Likewise.
      2639949a
  12. 26 10月, 2012 3 次提交
    • J
      virsh: Fix POD syntax · 61299a1c
      Jiri Denemark 提交于
      The first two hunks fix "Unterminated I<...> sequence" error and the
      last one fixes "’=item’ outside of any ’=over’" error.
      61299a1c
    • J
      virsh: Remove --flags from nodesuspend · ab545815
      Jiri Denemark 提交于
      We always expose individual bits from flags as separate options rather
      than exposing a raw flags options. Since virNodeSuspendForDuration does
      not currently support any flags, the only way of using this --flags
      options that would not fail is "--flags 0", which is equivalent to
      omitting the option. Thus it is highly unlikely anyone would actually be
      using it and removing it should be safe.
      ab545815
    • E
      snapshot: improve snapshot-list error message · 3cdf4dd4
      Eric Blake 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=869100 mentioned some
      confusion about 'virsh snapshot-list' errors.  Clean up a
      misleading error message, and add some documentation.
      
      * tools/virsh-snapshot.c (cmdSnapshotList): Mention --current
      rather than --from when appropriate.
      * tools/virsh.pod (snapshot-list): Mention that the named starting
      point is NOT part of the list except under --tree.
      3cdf4dd4
  13. 24 10月, 2012 1 次提交
  14. 22 10月, 2012 2 次提交
  15. 15 10月, 2012 1 次提交
    • O
      node_memory: Add new parameter field to tune the new sysfs knob · f81f0f2f
      Osier Yang 提交于
      Upstream kernel introduced new sysfs knob "merge_across_nodes" to
      specify if pages from different numa nodes can be merged. When set
      to 0, only pages which physically reside in the memory area of
      same NUMA node can be merged. When set to 1, pages from all nodes
      can be merged.
      
      This patch supports the tuning by adding new param field
      "shm_merge_across_nodes".
      f81f0f2f
  16. 12 10月, 2012 3 次提交
  17. 11 10月, 2012 1 次提交
    • J
      Add MIGRATABLE flag for virDomainGetXMLDesc · 28f8dfdc
      Jiri Denemark 提交于
      Using VIR_DOMAIN_XML_MIGRATABLE flag, one can request domain's XML
      configuration that is suitable for migration or save/restore. Such XML
      may contain extra run-time stuff internal to libvirt and some default
      configuration may be removed for better compatibility of the XML with
      older libvirt releases.
      
      This flag may serve as an easy way to get the XML that can be passed
      (after desired modifications) to APIs that accept custom XMLs, such as
      virDomainMigrate{,ToURI}2 or virDomainSaveFlags.
      28f8dfdc
  18. 09 10月, 2012 2 次提交
    • D
      interface: add udev based backend for virInterface · 5a33366f
      Doug Goldstein 提交于
      Add a read-only udev based backend for virInterface. Useful for distros
      that do not have netcf support yet. Multiple libvirt based utilities use
      a HAL based fallback when virInterface is not available which is less
      than ideal. This implements:
      * virConnectNumOfInterfaces()
      * virConnectListInterfaces()
      * virConnectNumOfDefinedInterfaces()
      * virConnectListDefinedInterfaces()
      * virConnectListAllInterfaces()
      * virConnectInterfaceLookupByName()
      * virConnectInterfaceLookupByMACString()
      5a33366f
    • E
      virsh: add qemu-monitor-command --pretty · 2a1aaa60
      Eric Blake 提交于
      I was using qemu-monitor-command during development, and found it quite
      hard to use.  Compare the results of this patch on ease of reading:
      
      $ virsh qemu-monitor-command          dom '{"execute":"query-version"}'
      {"return":{"qemu":{"micro":1,"minor":12,"major":0},"package":"(qemu-kvm-0.12.1.2)"},"id":"libvirt-7683"}
      
      $ virsh qemu-monitor-command --pretty dom '{"execute":"query-version"}'
      {
          "return": {
              "qemu": {
                  "micro": 1,
                  "minor": 12,
                  "major": 0
              },
              "package": "(qemu-kvm-0.12.1.2)"
          },
          "id": "libvirt-7674"
      }
      
      * tools/virsh-host.c (cmdQemuMonitorCommand): New option.
      * tools/virsh.pod (qemu-monitor-command): Document it.
      2a1aaa60
  19. 02 10月, 2012 1 次提交
  20. 21 9月, 2012 2 次提交
    • L
      virsh: new net-update command · fe787282
      Laine Stump 提交于
      This command uses the new virNetworkUpdate() API to modify an existing
      network definition, and optionally have those modifications take
      effect immediately without restarting the network.
      
      An example usage:
      
        virsh net-update mynet add-last ip-dhcp-host \
         "<host mac='00:11:22:33:44:55' ip='192.168.122.45'/>" \
         --live --config
      
      If you like, you can instead put the xml into a file, and call like
      this:
      
        virsh net-update mynet add ip-dhcp-host /tmp/myxml.xml
         --live --config
      
      virsh will autodetect whether the argument is itself an xml element,
      or if it's a file, by looking at the first character - the first
      character of an xml element is always "<", and the first character of
      a file is almost always *not* "<" (in the rare case that it is, the
      user could specify "./<filename...").
      
      A --parent-index option is also available (to give the index within a
      list of parent objects, e.g. the index of the parent <ip> element when
      updating ip-dhcp-host elements), but is optional and at least for now
      will probably be used rarely.
      
      --live, --config, and --current options - if you specify --live, only
      the live state of the network will be updated. If you also specify
      --config, then the persistent configuration will also be updated;
      these two commands can be given separately, or both together. If you
      don't specify either (you can optionally specify "--current" for the
      same effect), then the "current" config will be updated (i.e. if the
      network is active, then only its live config is affected, but if the
      network is inactive, only the persistent config is affected).
      fe787282
    • E
      maint: fix up copyright notice inconsistencies · 4ecb723b
      Eric Blake 提交于
      https://www.gnu.org/licenses/gpl-howto.html recommends that
      the 'If not, see <url>.' phrase be a separate sentence.
      
      * tests/securityselinuxhelper.c: Remove doubled line.
      * tests/securityselinuxtest.c: Likewise.
      * globally: s/;  If/.  If/
      4ecb723b
  21. 20 9月, 2012 1 次提交
  22. 19 9月, 2012 3 次提交
    • D
      build: define WITH_INTERFACE for the driver · b95ad92e
      Doug Goldstein 提交于
      Based exclusively on work by Eric Blake in a patch posted with the same
      subject. However some modifications related to comments and my plans to
      add another backend.
      
      Added WITH_INTERFACE as the only automake variable deciding whether to
      build the driver and using WITH_NETCF to identify that we're wanting to
      use the netcf library as the backend.
      
      * configure.ac: Added with_interface
      * src/interface/netcf_driver.c: Renamed..
      * src/interface/interface_backend_netcf.c: ..to this to match storage.
      * src/interface/netcf_driver.h: Renamed..
      * src/interface/interface_driver.h: ..to this.
      * daemon/Makefile.am: Respect WITH_INTERFACE and WITH_NETCF.
      * libvirt.spec.in: Add RPM support for --with-interface
      b95ad92e
    • D
      virsh: Rename QEmu to QEMU to match upstream · c88a4f2a
      Doug Goldstein 提交于
      Match upstream's naming of QEMU. There was a notice on the ML that said
      the preferred spelling was QEMU a while back.
      c88a4f2a
    • P
      virsh: Fix resource leaks when editing files. · 1035c51f
      Peter Krempa 提交于
      The cleanup path in virsh-edit helper was never reached when the edit
      was successful leaking the document in memory as well as the temporary
      file.
      1035c51f