1. 21 8月, 2012 6 次提交
    • E
      virsh: split out virsh-nodedev.c · ea3cf921
      Eric Blake 提交于
      Another worthwhile split, needed one more public function.
      
      * tools/virsh-nodedev.h: New file.
      * tools/Makefile.am (virsh_SOURCES): Build it.
      * tools/virsh-nodedev.c: Use new header.
      * tools/virsh.c: Likewise.
      (vshTreePrint): Export.
      * tools/virsh.h (vshTreePrint): Declare.
      ea3cf921
    • E
      virsh: split out virsh-network.c · dcff981a
      Eric Blake 提交于
      Another relatively easy file split.
      
      * tools/virsh-network.h: New file.
      * tools/Makefile.am (virsh_SOURCES): Build it.
      * tools/virsh.c: Use new header.
      * tools/virsh-network.c: Likewise.
      (vshCommandOptNetworkBy): Update signature.
      dcff981a
    • E
      virsh: split out virsh-interface.c · 7aeb16a8
      Eric Blake 提交于
      Another relatively easy split, since helper functions were fixed
      in the previous patch.
      
      * tools/virsh-interface.h: New file.
      * tools/Makefile.am (virsh_SOURCES): Build it.
      * tools/virsh.c: Use new header.
      * tools/virsh-interface.c: Likewise.
      (vshCommandOptInterfaceBy): Check flags.
      7aeb16a8
    • E
      virsh: declare more common functions · 4c10b3c7
      Eric Blake 提交于
      In preparation for splitting virsh-interface.c, I found these
      functions need to be declared in virsh.h, as well as one that
      belongs more properly in virsh-domain.h.  Also, since we
      use the VSH_BY* flags in more than one function, I improved
      how they are used.
      
      * tools/virsh.h (vshNameSorter, vshCmdHasOption): Declare.
      (VSH_BYID): Turn into enum.
      (vshCommandOptDomainBy): Move...
      * tools/virsh-domain.h): ...here.
      * tools/virsh.c: (vshNameSorter): Export.
      (cmd_has_option): Rename...
      (vshCmdHasOption): ...and export.
      (vshCommandOptDomainBy): Move...
      * tools/virsh-domain.c (vshCommandOptDomainBy): ...here, adjust
      signature, and check flags.
      * tools/virsh-network.c (vshCommandOptNetworkBy): Update callers.
      * tools/virsh-nwfilter.c (vshCommandOptNWFilterBy): Likewise.
      * tools/virsh-secret.c (vshCommandOptSecret): Likewise.
      * tools/virsh-domain-monitor.c (includes): Likewise.
      * tools/virsh-host.c (includes): Likewise.
      4c10b3c7
    • E
      virsh: split out virsh-host.c · ae8e89fb
      Eric Blake 提交于
      The splits are getting easier, with fewer cleanups needed in virsh.h.
      
      * tools/virsh-host.h: New file.
      * tools/Makefile.am (virsh_SOURCES): Build it.
      * tools/virsh-host.c: Use new header.
      * tools/virsh.c: Likewise.
      ae8e89fb
    • E
      virsh: split out virsh-domain-monitor.c · 99ae57f8
      Eric Blake 提交于
      Another file worth compiling on its own instead of by .c inclusion.
      
      * tools/virsh-domain-monitor.h: New file.
      * tools/Makefile.am (virsh_SOURCES): Build it.
      * tools/virsh.h (vshGetDomainDescription): Move to correct
      header.
      * tools/virsh-domain-monitor.c: Use new header.
      * tools/virsh.c: Likewise.
      * tools/virsh-domain.c: Likewise.
      99ae57f8
  2. 20 8月, 2012 4 次提交
    • E
      virsh: drop unused headers · 521b7ab7
      Eric Blake 提交于
      The previous commit now trips up 'make syntax-check' due to a useless
      use of <signal.h>.
      
      * tools/virsh.c (includes): Drop useless includes.
      521b7ab7
    • D
      Fix build of virsh on Win32 by moving SA_SIGINFO stub · 6a481798
      Daniel P. Berrange 提交于
      On Win32 SA_SIGINFO is not defined, so virsh.c stub'd it out
      to 0, but recent changes moved the usage out of virsh.c and
      into virsh-domain.c
      6a481798
    • E
      virsh: use common namespacing · e68ee5e7
      Eric Blake 提交于
      Convert the exported items in virsh.h to use a common 'vsh' prefix.
      
      * tools/virsh.h (VIRSH_MAX_XML_FILE): Rename...
      (VSH_MAX_XML_FILE): ...and parenthesize.
      (DIFF_MSEC, CTRL_CLOSE_BRACKET): Delete.
      (vshUsage, vshInit, vshDeinit, vshParseArgv): Remove prototype.
      (editWriteToTempFile, editFile, editReadBackFile, prettyCapacity)
      (virshReportError): Rename...
      (vshEditWriteToTempFile, vshEditFile, vshEditReadBackFile)
      (vshPrettyCapacity, vshReportError): ...into vsh namespace.
      (jobWatchTimeoutFunc): Move to virsh-domain.c.
      * tools/virsh.c (vshCommandRun): Inline former DIFF_MSEC.
      (main): Inline former CTRL_CLOSE_BRACKET.
      (vshUsage, vshInit, vshDeinit, vshParseArgv): Make static.
      (prettyCapacity, virshReportError, editWriteToTempFile, editFile):
      Fix naming, and adjust usage.
      (vshAskReedit, vshCommandRun, vshEventLoop, vshInit): Adjust
      usage.
      * tools/virsh-domain.c (cmdAttachDevice, cmdCPUCompare)
      (cmdCPUBaseline, cmdCreate, cmdDefine, cmdDetachDevice)
      (cmdUpdateDevice, cmdDesc, cmdUndefine, cmdStart, cmdVcpucount)
      (cmdAttachDevice, cmdDomjobinfo): Likewise.
      * tools/virsh-edit.c (do): Likewise.
      * tools/virsh-interface.c (cmdInterfaceDefine): Likewise.
      * tools/virsh-network.c (cmdNetworkCreate, cmdNetworkDefine):
      Likewise.
      * tools/virsh-nodedev.c (cmdNodeDeviceCreate): Likewise.
      * tools/virsh-nwfilter.c (cmdNWFilterDefine): Likewise.
      * tools/virsh-pool.c (cmdPoolCreate, cmdPoolDefine)
      (cmdPoolDiscoverSources, cmdPoolList): Likewise.
      * tools/virsh-secret.c (cmdSecretDefine): Likewise.
      * tools/virsh-snapshot.c (cmdSnapshotCreate, vshSnapshotCreate)
      (vshLookupSnapshot, cmdSnapshotEdit, cmdSnapshotCurrent)
      (vshGetSnapshotParent): Likewise.
      * tools/virsh-volume.c (cmdVolCreate, cmdVolCreateFrom)
      (cmdVolInfo, cmdVolList): Likewise.
      e68ee5e7
    • D
      Make Win32 stub of vshAskReedit non-static · ee7b4e55
      Daniel P. Berrange 提交于
      The main impl of vshAskReedit is non-static, so the Win32
      stub must be the same
      ee7b4e55
  3. 18 8月, 2012 4 次提交
    • E
      virsh: kill some double underscores · 6d96fab9
      Eric Blake 提交于
      C99 says that __foo naming is reserved for the compiler.  Besides,
      we had several different styles in use; this consolidates things
      to set up the typedefs up front then declare the types with
      consistent naming.
      
      * tools/virsh.h: Use consistent struct naming.
      * tools/virsh.c (_vshCommandParser): Likewise.
      6d96fab9
    • E
      virsh: split out virsh-domain.c · f4a7b87d
      Eric Blake 提交于
      The virsh-domain.c file was pretty self-contained; the only
      entry point was the table of command definitions.  The bulk
      of this patch is making more functions in virsh.c reusable.
      A later patch will clean up poor naming choices.
      
      * tools/Makefile.am (virsh_SOURCES): Build virsh-domain.c.
      * tools/virsh-domain.h: New file.
      * tools/virsh.h (virshReportError, vshResetLibvirtError)
      (vshAskReedit, vshStreamSink): Declare.
      * tools/virsh.c: Switch from using .c to .h.
      (virshReportError, vshResetLibvirtError, vshAskReedit)
      (vshStreamSink, prettyCapacity): Export.
      (vshCatchInt): Move...
      * tools/virsh-domain.c: ...into sole user.  Use header.
      f4a7b87d
    • E
      virsh: split out virsh.h · c2e494cc
      Eric Blake 提交于
      Having one .c file include another does not give any compilation
      benefits; move towards modular .o files by first splitting out
      reused declarations into a new virsh.h.  This patch doesn't try
      very hard to see which functions are used or not, to make it
      easier to review the file split.  Future patches can further trim
      the header to be smaller.
      
      * tools/Makefile.am (virsh_SOURCES): List new file, and prepare
      for others.
      * tools/virsh.c: Split declarations...
      * tools/virsh.h: ...into new file, and make several functions
      non-static.
      * tools/virsh-domain-monitor.c (vshGetDomainDescription): Make
      non-static.
      c2e494cc
    • E
      virsh: move vshWatchJob earlier · 8e8809e1
      Eric Blake 提交于
      It's easier to order things in topological order than it is to
      forward declare in one file for use only by one other file.
      
      * tools/virsh.c (vshWatchJob, parseRateStr)
      (vshDomainStateToString, vshDomainStateReasonToString)
      (vshDomainControlStateToString, vshDomainVcpuStateToString): Drop
      useless prototypes.
      * tools/virsh-domain.c (vshWatchJob): Move earlier.
      8e8809e1
  4. 15 8月, 2012 1 次提交
  5. 14 8月, 2012 4 次提交
    • O
      Destroy virdomainlist.[ch] · bb705e25
      Osier Yang 提交于
      As the consensus in:
      https://www.redhat.com/archives/libvir-list/2012-July/msg01692.html,
      this patch is to destroy conf/virdomainlist.[ch], folding the
      helpers into conf/domain_conf.[ch].
      
      * src/Makefile.am:
        - Various indention fixes incidentally
        - Add macro DATATYPES_SOURCES (datatypes.[ch])
        - Link datatypes.[ch] for libvirt_lxc
      
      * src/conf/domain_conf.c:
        - Move all the stuffs from virdomainlist.c into it
        - Use virUnrefDomain and virUnrefDomainSnapshot instead of
          virDomainFree and virDomainSnapshotFree, which are defined
          in libvirt.c, and we don't want to link to it.
        - Remove "if" before "free" the object, as virObjectUnref
          is in the list "useless_free_options".
      
      * src/conf/domain_conf.h:
        - Move all the stuffs from virdomainlist.h into it
        - s/LIST_FILTER/LIST_DOMAINS_FILTER/
      
      * src/libxl/libxl_driver.c:
        - s/LIST_FILTER/LIST_DOMAINS_FILTER/
        - no (include "virdomainlist.h")
      
      * src/libxl/libxl_driver.c: Likewise
      
      * src/lxc/lxc_driver.c: Likewise
      
      * src/openvz/openvz_driver.c: Likewise
      
      * src/parallels/parallels_driver.c: Likewise
      
      * src/qemu/qemu_driver.c: Likewise
      
      * src/test/test_driver.c: Likewise
      
      * src/uml/uml_driver.c: Likewise
      
      * src/vbox/vbox_tmpl.c: Likewise
      
      * src/vmware/vmware_driver.c: Likewise
      
      * tools/virsh-domain-monitor.c: Likewise
      
      * tools/virsh.c: Likewise
      bb705e25
    • C
      virsh: make 'help' command ignore spurious options · 86157b59
      Cole Robinson 提交于
      Similar to the previous patch, prepending 'help' to a partial
      command string doesn't cut us any slack.
      
      $ virsh help pool-define-as --name foo --type dir
      error: command 'help' doesn't support option --name
      
      This patch adds a few hacks to make 'help' ignore everything after the
      first data bit, so the above command shows help output for pool-define-as.
      86157b59
    • C
      virsh: Convert '<cmd> --help' to 'help <cmd>' · d2f97139
      Cole Robinson 提交于
      Often times I find myself halfway through typing a long command when
      I want to see 'help' output. I instinctively append '--help' to the
      command I'm typing, only to get an error:
      
          $ virsh vol-create-as foo --help
          error: command 'vol-create-as' doesn't support option --help
      
      This patch makes --help work in a pretty hacky way. One missing piece
      here is that --help isn't listed as an option in the actual 'help <cmd>'
      output, but maybe this can be a starting point for someone.
      d2f97139
    • C
      virsh.c: Fix compiler warning · e7d1bdfb
      Cole Robinson 提交于
      For some reason I only get this after applying subsequent upcoming
      patches that touch virsh, but don't seem to actually cause the warning.
      
      virsh.c: In function ‘vshCommandParse’:
      virsh.c:2014:46: error: ‘opt_index’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
      cc1: all warnings being treated as errors
      e7d1bdfb
  6. 03 8月, 2012 1 次提交
  7. 27 7月, 2012 2 次提交
    • O
      maint: Use consistent copyright. · a4bcefbc
      Osier Yang 提交于
      This is a follow up patch of commit f9ce7dad, it modifies all
      the files which declare the copyright like "See COPYING.LIB for
      the License of this software" to use the detailed/consistent one.
      
      And deserts the outdated comments like:
      
       * libvirt-qemu.h:
       * Summary: qemu specific interfaces
       * Description: Provides the interfaces of the libvirt library to handle
       *              qemu specific methods
       *
       * Copy:  Copyright (C) 2010, 2012 Red Hat, Inc.
      
      Uses the more compact style like:
      
       * libvirt-qemu.h: Interfaces specific for QEMU/KVM driver
       *
       * Copyright (C) 2010, 2012 Red Hat, Inc.
      a4bcefbc
    • P
      virsh: Refactor error clearing on graceful fallback paths · 3df9626c
      Peter Krempa 提交于
      Virsh uses an error handler to save errors from libvirt. On some code
      paths it's needed to clear libvirt errors and continue on fallback code
      paths without reporting failure.
      
      This patch adds function vshResetLibvirtError() that clears error
      returned by libvirt and updates all places where the old two-line method
      was used.
      3df9626c
  8. 26 7月, 2012 14 次提交
    • J
      virsh: check if specified debug level is in range · 4fedf388
      Ján Tomko 提交于
      4fedf388
    • O
      virsh: Move command group definition into its own file · c4bdf307
      Osier Yang 提交于
      * virsh-domain-monitor.c: Add domMonitoringCmds
      * virsh-domain.c: Add domManagementCmds
      * virsh-host.c: Add hostAndHypervisorCmds
      * virsh-interface.c: Add ifaceCmds
      * virsh-network.c: Add networkCmds
      * virsh-nodedev.c: Add nodedevCmds
      * virsh-nwfilter.c: Add nwfilterCmds
      * virsh-pool.c: Add storagePoolCmds
      * virsh-secret.c: Add secretCmds
      * virsh-snapshot.c: Add snapshotCmds
      * virsh-volume.c: Add storageVolCmds
      * virsh.c: Remove all the above *Cmds.
      c4bdf307
    • O
      virsh: Split cmds in node device group from virsh.c · 49989d70
      Osier Yang 提交于
      Commands in node device group moved from virsh.c to virsh-nodedev.c,
      
      * virsh.c: Remove commands in node device group.
      * virsh-nodedev.c: New file, filled with commands in node device group
      * po/POTFILES.in: Add virsh-nodedev.c
      * cfg.mk: Skip to check config.h including for virsh-nodedev.c
      49989d70
    • O
      virsh: Split cmds in host group from virsh.c · 290eb0d9
      Osier Yang 提交于
      Commands in host group moved from virsh.c to virsh-host.c,
      
      * virsh.c: Remove commands in host group.
      * virsh-host.c: New file, filled with commands in host group
      * po/POTFILES.in: Add virsh-host.c
      * cfg.mk: Skip to check config.h including for virsh-host.c
      290eb0d9
    • O
      virsh: Split cmds to manage domain snapshot from virsh.c · 648ad247
      Osier Yang 提交于
      Commands to manage domain snapshot are moved from virsh.c to
      virsh-snapshot.c.
      
      * virsh.c: Remove domain snapshot commands.
      * virsh-snapshot.c: New file, filled with domain snapshot commands.
      * po/POTFILES.in: Add virsh-snapshot.c
      * cfg.mk: Skip strcase and config.h including checking for
                virsh-snapshot.c
      648ad247
    • O
      virsh: Split cmds to manage secret from virsh.c · d7acdcf0
      Osier Yang 提交于
      Commands to manage secret are moved from virsh.c to virsh-secret.c,
      with a few helpers for secret command use.
      
      * virsh.c: Remove secret commands and a few helpers.
                 (vshCommandOptSecret, and vshCommandOptSecretBy)
      * virsh-secret.c: New file, filled with secret commands and its helpers.
      * po/POTFILES.in: Add virsh-secret.c
      * cfg.mk: Skip to check config.h including for virsh-secret.c
      d7acdcf0
    • O
      virsh: Split cmds to manage network filter from virsh.c · e9d10055
      Osier Yang 提交于
      Commands to manage network filter are moved from virsh.c to virsh-nwfilter.c,
      with a few helpers for network filter command use.
      
      * virsh.c: Remove network filter commands and a few helpers.
                 (vshCommandOptNWFilter, and vshCommandOptNWFilterBy)
      * virsh-nwfilter.c: New file, filled with network filter commands and its helpers.
      
      * po/POTFILES.in: Add virsh-nwfilter.c
      
      * cfg.mk: Skip to check config.h including for virsh-nwfilter.c
      e9d10055
    • O
      virsh: Split cmds to manage host interface from virsh.c · 0c39ea2f
      Osier Yang 提交于
      Commands to manage host interface are moved from virsh.c to
      virsh-interface.c, with a few helpers for interface command use.
      
      * virsh.c: Remove interface commands and a few helpers.
                 (vshCommandOptInterface, vshCommandOptInterfaceBy)
      * virsh-interface.c: New file, filled with interface commands and
                           its helpers.
      * cfg.mk: Skip to check config.h including for virsh-interface.c
      * po/POTFILES.in: Add virsh-interface.c
      0c39ea2f
    • O
      virsh: Split cmds to manage network from virsh.c · 0510f97e
      Osier Yang 提交于
      Commands to manage network are moved from virsh.c to virsh-network.c,
      with a few helpers for network command use.
      
      * virsh.c: Remove network commands and a few helpers.
      * virsh-network.c: New file, filled with network commands and its
                         helpers.
      * po/POTFILES.in: Add virsh-network.c
      * cfg.mk: Skip to check config.h including for virsh-network.c
      0510f97e
    • O
      virsh: Split cmds of storage pool group from virsh.c · 2f033890
      Osier Yang 提交于
      This splits commands of storage pool group into virsh-pool.c,
      The helpers not for common use are moved too. Standard copyright
      is added for the new file.
      
      * tools/virsh.c:
        Remove commands for storage storage pool and a few helpers.
        (vshCommandOptVol, vshCommandOptVolBy).
      
      * tools/virsh-pool.c:
        New file, filled with commands of storage pool group and its
        helpers.
      
      * po/POTFILES.in:
        Add virsh-pool.c
      
      * cfg.mk:
        Skip to check config.h including for virsh-pool.c
      2f033890
    • O
      virsh: Split cmds of storage volume group from virsh.c · 9fbb344f
      Osier Yang 提交于
      This splits commands of storage volume group into virsh-volume.c,
      The helpers not for common use are moved too. Standard copyright
      is added for the new file.
      
      * tools/virsh.c:
        Remove commands for storage storage volume and a few helpers.
        (vshCommandOptVol, vshCommandOptVolBy).
      
      * tools/virsh-volume.c:
        New file, filled with commands of storage volume group and its
        helpers.
      
      * po/POTFILES.in:
        Add virsh-volume.c
      
      * cfg.mk:
        Skip to check config.h including for virsh-volume.c
      9fbb344f
    • O
      virsh: Split cmds of domain group from virsh.c · 73b89ed8
      Osier Yang 提交于
      This splits commands to manage domain into virsh-domain.c,The helpers
      not for common use are moved into them too. Standard copyright is added
      for the new file.
      
      * tools/virsh.c:
        - Remove commands for domain group, and one helper
          (vshDomainVcpuStateToString)
        - vshStreamSink is moved before commands's definition for it's
          also used by commands not of domain group, such as volUpload.
      
      * tools/virsh-domain.c:
        - New file, commands for domain group and the one helper are
          moved into it.
      
      * po/POTFILES.in:
        - Add virsh-domain.c
      
      * cfg.mk:
        - Skip to check config.h including for virsh-domain.c
      73b89ed8
    • O
      virsh: Split cmds for domain monitoring from virsh.c · 9f4baa22
      Osier Yang 提交于
      This splits commands commands to monitor domain status into
      virsh-domain-monitor.c. The helpers not for common use are moved too.
      Standard copyright is added.
      
      * tools/virsh.c:
        - Remove commands for domain monitoring group and a few helpers (
          vshDomainIOErrorToString, vshGetDomainDescription,
          vshDomainControlStateToString, vshDomainStateToString) not for
          common use.
        - Remove (incldue "intprops.h").
      
      * tools/virsh-domain-monitor.c:
        - New file, filled with commands of domain monitor group.
        - Add "intprops.h".
      
      * cfg.mk:
        - Skip strcase checking for virsh-domain-monitor.c
        - Skip to check config.h including for virsh-domain-monitor.c
      
      * po/POTFILES.in
        - Add virsh-domain-monitor.c
      9f4baa22
    • O
      virsh: Move definition of cmds and cmd groups right at the top of main · e92ff10b
      Osier Yang 提交于
      This will avoid many conflicts if moving the codes for each command
      group into separate files in later patches.
      e92ff10b
  9. 24 7月, 2012 1 次提交
  10. 21 7月, 2012 1 次提交
  11. 19 7月, 2012 1 次提交
    • S
      Add a sheepdog backend for the storage driver · 29bc4fe6
      Sebastian Wiedenroth 提交于
      This patch brings support to manage sheepdog pools and volumes to libvirt.
      It uses the "collie" command-line utility that comes with sheepdog for that.
      
      A sheepdog pool in libvirt maps to a sheepdog cluster.
      It needs a host and port to connect to, which in most cases
      is just going to be the default of localhost on port 7000.
      
      A sheepdog volume in libvirt maps to a sheepdog vdi.
      To create one specify the pool, a name and the capacity.
      Volumes can also be resized later.
      
      In the volume XML the vdi name has to be put into the <target><path>.
      To use the volume as a disk source for virtual machines specify
      the vdi name as "name" attribute of the <source>.
      The host and port information from the pool are specified inside the host tag.
      
        <disk type='network'>
          ...
          <source protocol="sheepdog" name="vdi_name">
            <host name="localhost" port="7000"/>
          </source>
        </disk>
      
      To work right this patch parses the output of collie,
      so it relies on the raw output option. There recently was a bug which caused
      size information to be reported wrong. This is fixed upstream already and
      will be in the next release.
      Signed-off-by: NSebastian Wiedenroth <wiedi@frubar.net>
      29bc4fe6
  12. 17 7月, 2012 1 次提交
    • S
      Convert 'raw MAC address' usages to use virMacAddr · 387117ad
      Stefan Berger 提交于
      Introduce new members in the virMacAddr 'class'
      - virMacAddrSet: set virMacAddr from a virMacAddr
      - virMacAddrSetRaw: setting virMacAddr from raw 6 byte MAC address buffer
      - virMacAddrGetRaw: writing virMacAddr into raw 6 byte MAC address buffer
      - virMacAddrCmp: comparing two virMacAddr
      - virMacAddrCmpRaw: comparing a virMacAddr with a raw 6 byte MAC address buffer
      
      then replace raw MAC addresses by replacing
      
      - 'unsigned char *' with virMacAddrPtr
      - 'unsigned char ... [VIR_MAC_BUFLEN]' with virMacAddr
      
      and introduce usage of above functions where necessary.
      387117ad