1. 11 5月, 2011 1 次提交
  2. 10 5月, 2011 1 次提交
  3. 07 5月, 2011 1 次提交
    • E
      maint: avoid comparisons to bool constants · f84fe150
      Eric Blake 提交于
      HACKING already mentions that comparisons against literal 'true'
      are unsafe; for consistency, also shorten comparisons against 'false'.
      
      * src/conf/domain_conf.c (virDomainNetDefParseXML): Simplify.
      * src/nwfilter/nwfilter_gentech_driver.c
      (virNWFilterDomainFWUpdateCB): Likewise.
      * tools/virsh.c (cmdVolDownload, vshCommandRun, vshPrintExtra):
      Likewise.
      f84fe150
  4. 06 5月, 2011 2 次提交
    • E
      virsh: use new method for easier log to file · f99e1389
      Eric Blake 提交于
      Easier to maintain, and no longer an arbitrary line length limit.
      
      * tools/virsh.c (vshOutputLogFile): Replace snprintf with
      virBuffer.
      f99e1389
    • E
      maint: rename virBufferVSprintf to virBufferAsprintf · 68ea80cf
      Eric Blake 提交于
      We already have virAsprintf, so picking a similar name helps for
      seeing a similar purpose.  Furthermore, the prefix V before printf
      generally implies 'va_list', even though this variant was '...', and
      the old name got in the way of adding a new va_list version.
      
      global rename performed with:
      
      $ git grep -l virBufferVSprintf \
        | xargs -L1 sed -i 's/virBufferVSprintf/virBufferAsprintf/g'
      
      then revert the changes in ChangeLog-old.
      68ea80cf
  5. 04 5月, 2011 1 次提交
    • E
      virsh: avoid null pointer dereference · 44699b32
      Eric Blake 提交于
      Clang detected that vol-download will call unlink(NULL) if there
      is a parse error during option parsing.  Also, mingw doesn't like
      unlinking an open file.
      
      * tools/virsh.c (cmdVolDownload): Only unlink file if created.
      44699b32
  6. 01 5月, 2011 1 次提交
  7. 30 4月, 2011 1 次提交
    • E
      build: fix getcwd portability problems · e39c46a5
      Eric Blake 提交于
      * bootstrap.conf (gnulib_modules): Add getcwd-lgpl.
      * tests/commandtest.c (checkoutput): Drop unused cwd.
      * tests/commandhelper.c (main): Let getcwd malloc.
      * tests/testutils.c (virTestMain): Likewise.
      * tools/virsh.c (cmdPwd): Likewise.
      (virshCmds): Expose cmdPwd and cmdCd on mingw.
      e39c46a5
  8. 29 4月, 2011 1 次提交
    • E
      virsh: avoid compiler warning on mingw · c63ec6e3
      Eric Blake 提交于
      We don't use gnulib's sanitizations for vfprintf, but vshDebug
      was used with %zu, which means that it would fail on mingw.
      Thank goodness the compiler indirectly caught this for us :)
      
      virsh.c: In function 'vshDebug':
      virsh.c:12105:5: warning: function might be possible candidate for
      'ms_printf' format attribute [-Wmissing-format-attribute]
      
      since mingw <stdio.h> hasn't yet added gcc attributes to vfprintf.
      
      * tools/virsh.c (vshDebug): Avoid vfprintf.
      (vshPrintExtra): Use lighter-weight fputs.
      Reported by Matthias Bolte.
      c63ec6e3
  9. 28 4月, 2011 1 次提交
    • W
      fix virsh's regression · 2225a491
      Wen Congyang 提交于
      This patch does the following things:
      1. The return value of cmdSchedInfoUpdate() can be -1, 0 and 1. So the
         type of return value should be int not bool.(This function is not a
         entry of a virsh command, but the name of this function likes cmdXXX)
      
      2. The type of cmdSchedinfo()'s, cmdFreecell()'s, cmdPoolList()'s and
         cmdVolList()'s return value is bool not int, so change the type of
         variable ret_val, func_ret and functionReturn.
      
      3. Add a variable functionReturn for cmdMigrate(), cmdAttachInterface(),
         cmdDetachInterface(), cmdAttachDisk() and cmdDetachDisk() to save the
         return value.
      
      4. Change the type of variable ret in the function cmdAttachDevice(),
         cmdDetachDevice(), cmdUpdateDevice(), cmdAttachInterface(),
         cmdDetachInterface(), cmdAttachDisk() and cmdDetachDisk() to int, as
         we use it to save the return value of virXXX() and the type of virXXX()'s
         return value is int not bool.
      
      5. Do some cleanup when virBuff.error is 1.
      
      The bug 1-4 were introduced by commit b56fa5bb.
      2225a491
  10. 19 4月, 2011 1 次提交
    • E
      virsh: nuke use of TRUE and FALSE · b56fa5bb
      Eric Blake 提交于
      Gnulib already guarantees <stdbool.h>, so it is easier to just
      use the standardized spellings.
      
      * tools/virsh.c (vshCmdDef): Change callback to return real bool.
      (__vshControl): Change several fields to bool.
      (vshCommandOptBool): Change return type.
      All callers updated.
      * tools/Makefile.am (virsh-net-edit.c, virsh-pool-edit.c):
      Likewise.
      b56fa5bb
  11. 16 4月, 2011 2 次提交
    • E
      virsh: fix regression in parsing optional integer · b9973f52
      Eric Blake 提交于
      Regression introduced in 0.8.5, commit c1564268.  The command
      'virsh freecell 0' quit working when it changed from an optional
      string to an optional integer.
      
      This patch introduces a slight change that specifying an option
      twice is now detected as an error.  It also changes things so
      that a command that has more than 1 required option will not
      complain about missing options if one but not all of the options
      were given in long format, as in 'virsh vol-create --pool p file',
      as well as making positional parsing work for all optional
      options (each positional argument is associated with the earliest
      option that has not yet been seen by name).
      
      Optional boolean options can appear before required argument
      options, because they don't affect positional argument parsing,
      and obviously a required boolean option makes no sense.
      
      Technically, this patch renders VSH_OT_STRING and VSH_OT_DATA
      redundant; but cleaning that up can be a separate patch.
      
      No command should ever need more than 32 options, right? :)
      
      * tools/virsh.c (vshCmddefGetData, vshCmddefGetOption)
      (vshCommandCheckOpts): Alter parameters to use bitmaps.
      (vshCmddefOptParse): New function.
      (vshCommandParse): Update for better handling of positional
      arguments.
      (vshCmddefHelp): Allow unit tests to validate options.
      b9973f52
    • E
      virsh: list required options first · 6b75a1a5
      Eric Blake 提交于
      The current state of virsh parsing is that:
      
      $ virsh vol-info /path/to/image
      $ virsh vol-info --pool default /path/to/image
      $ virsh vol-info --pool default --vol /path/to/image
      
      all lookup the volume by path (technically, the last two also attempt
      a name lookup within a pool, whereas the first skips that step, but
      the end result is the same); meanwhile:
      
      $ virsh vol-info default /path/to/image
      
      complains about unexpected data.  Why?  Because the --pool option is
      optional, so default was parsed as the --vol argument, and
      /path/to/image.img doesn't match up with any remaining options that
      require an argument.  For proof, note that:
      
      $ virsh vol-info default --vol /path/to/image
      
      complains about looking up 'default' - the parser mis-associated both
      arguments with --vol.  Given the above, the only way to specify pool
      is with an explicit "--pool" argument (you can't specify it
      positionally).  However, named arguments can appear in any order, so:
      
      $ virsh vol-info /path/to/image --pool default
      $ virsh vol-info --vol /path/to/image --pool default
      
      have also always worked.  Therefore, this patch has no functional
      change on vol-info option parsing, but only on 'virsh help vol-info'
      synopsis layout.  However, it also allows the next patch to 1) enforce
      that required options are always first (without this patch, the next
      patch would fail the testsuite), and 2) allow the user to omit the
      "--pool" argument.  That is, the next patch makes it possible to do:
      
      $ virsh vol-info /path/to/image default
      
      which to date was not possible.
      
      * tools/virsh.c (opts_vol_create_from, opts_vol_clone)
      (opts_vol_upload, opts_vol_download, opts_vol_delete)
      (opts_vol_wipe, opts_vol_info, opts_vol_dumpxml, opts_vol_key)
      (opts_vol_path): List optional pool parameter after required
      arguments.
      6b75a1a5
  12. 09 4月, 2011 1 次提交
    • T
      setmaxmem: add the new options to "virsh setmaxmem" command · 0ad06c11
      Taku Izumi 提交于
      This patch adds the new options (--live, --config, and --current) to
      "virsh setmaxmem" command. The behavior of above options is the same
      as that of "virsh setmem".  When the --config option is specified, a
      modification is effective for the persistent domain, while the --live
      option is specified, a modification is effective for an active
      domain. The --current option is specified, it affects a current
      domain.
      Signed-off-by: NTaku Izumi <izumi.taku@jp.fujitsu.com>
      0ad06c11
  13. 08 4月, 2011 2 次提交
  14. 05 4月, 2011 2 次提交
  15. 01 4月, 2011 1 次提交
    • J
      virsh: Fix documentation for memtune command · 1e8f2079
      Jiri Denemark 提交于
      Commit 78ba748e claims to fix
      documentation for swap_hard_limit virsh memtune option but it only fixes
      documentation in formatdomain.html and libvirt.h. This patch completes
      the task by fixing "virsh help memtune" output and memtune section of
      virsh man page.
      1e8f2079
  16. 31 3月, 2011 1 次提交
    • E
      maint: avoid locale-sensitivity in string case comparisons · 6c9e89bb
      Eric Blake 提交于
      strcase{cmp/str} have the drawback of being sensitive to the global
      locale; this is unacceptable in a library setting.  Prefer a
      hard-coded C locale alternative for all but virsh, which is user
      facing and where the global locale isn't changing externally.
      
      * .gnulib: Update to latest, for c-strcasestr change.
      * bootstrap.conf (gnulib_modules): Drop strcasestr, add c-strcase
      and c-strcasestr.
      * cfg.mk (sc_avoid_strcase): New rule.
      (exclude_file_name_regexp--sc_avoid_strcase): New exception.
      * src/internal.h (STRCASEEQ, STRCASENEQ, STRCASEEQLEN)
      (STRCASENEQLEN): Adjust offenders.
      * src/qemu/qemu_monitor_text.c (qemuMonitorTextEjectMedia):
      Likewise.
      * tools/virsh.c (namesorter): Document exception.
      6c9e89bb
  17. 29 3月, 2011 1 次提交
  18. 16 3月, 2011 1 次提交
    • E
      virsh: allow empty string arguments · 6eaa4ee4
      Eric Blake 提交于
      "virsh connect ''" should try to connect to the default connection,
      but the previous patch made it issue a warning about an invalid URI.
      
      * tools/virsh.c (VSH_OFLAG_EMPTY_OK): New option flag.
      (vshCommandOptString): Per the declaration, value is required to
      be non-NULL.  Honor new flag.
      (opts_connect): Allow empty string connection.
      6eaa4ee4
  19. 14 3月, 2011 2 次提交
  20. 11 3月, 2011 2 次提交
  21. 09 3月, 2011 2 次提交
  22. 07 3月, 2011 2 次提交
    • D
      Expose event loop implementation as a public API · 2ed6cc7b
      Daniel P. Berrange 提交于
      Not all applications have an existing event loop they need
      to integrate with. Forcing them to implement the libvirt
      event loop integration APIs is an undue burden. This just
      exposes our simple poll() based implementation for apps
      to use. So instead of calling
      
         virEventRegister(....callbacks...)
      
      The app would call
      
         virEventRegisterDefaultImpl()
      
      And then have a thread somewhere calling
      
          static bool quit = false;
          ....
          while (!quit)
            virEventRunDefaultImpl()
      
      * daemon/libvirtd.c, tools/console.c,
        tools/virsh.c: Convert to public event loop APIs
      * include/libvirt/libvirt.h.in, src/libvirt_private.syms: Add
        virEventRegisterDefaultImpl and virEventRunDefaultImpl
      * src/util/event.c: Implement virEventRegisterDefaultImpl
        and virEventRunDefaultImpl using poll() event loop
      * src/util/event_poll.c: Add full error reporting
      * src/util/virterror.c, include/libvirt/virterror.h: Add
        VIR_FROM_EVENTS
      2ed6cc7b
    • D
      Move event code out of the daemon/ into src/util/ · 343eaa15
      Daniel P. Berrange 提交于
      The event loop implementation is used by more than just the
      daemon, so move it into the shared area.
      
      * daemon/event.c, src/util/event_poll.c: Renamed
      * daemon/event.h, src/util/event_poll.h: Renamed
      * tools/Makefile.am, tools/console.c, tools/virsh.c: Update
        to use new virEventPoll APIs
      * daemon/mdns.c, daemon/mdns.c, daemon/Makefile.am: Update
        to use new virEventPoll APIs
      343eaa15
  23. 05 3月, 2011 1 次提交
  24. 23 2月, 2011 1 次提交
    • D
      Fix discard of expected errors · 449b4c87
      Daniel P. Berrange 提交于
      In a couple of commands virsh catches & ignores errors, but fails
      to reset last_error. Thus the error is ignored, but still reported
      to the user.
      
      * tools/virsh.c: Reset last_error if ignoring an error
      449b4c87
  25. 22 2月, 2011 1 次提交
  26. 19 2月, 2011 1 次提交
    • M
      virsh: freecell --all getting wrong NUMA nodes count · 595174ae
      Michal Privoznik 提交于
      Virsh freecell --all was not only getting wrong NUMA nodes count, but
      even the NUMA nodes IDs. They doesn't have to be continuous, as I've
      found out during testing this. Therefore a modification of
      nodeGetCellsFreeMemory() error message.
      595174ae
  27. 16 2月, 2011 1 次提交
  28. 12 2月, 2011 1 次提交
    • E
      virsh: avoid mingw compiler warnings · 92f0ed03
      Eric Blake 提交于
      Compilation on mingw was warning about %lld use in fprintf, and
      in the gnulib strptime module about dead labels.
      
      * tools/virsh.c (vshPrint): Change redirect.
      (vshPrintExtra): Allow use within vshPrint.  Avoid fprintf on
      arbitrary formats, since we aren't using gnulib module; instead,
      use virVasprintf to pre-format.
      (vshError): Likewise.
      * .gnulib: Update to latest, for mingw strptime warning fix.
      Reported by Matthias Bolte.
      92f0ed03
  29. 10 2月, 2011 1 次提交
    • D
      Avoid pthread_sigmask on Win32 platforms · 100f4a63
      Daniel P. Berrange 提交于
      Win32 doesn't have a concept of signal masks so disable that
      code. It is unclear how SIGINT is delivered (if at all) on
      Win32, so this might further work to provide an alternative
      to pthread_sigmask
      
      * tools/virsh.c: Avoid pthread_sigmask on Win32
      100f4a63
  30. 09 2月, 2011 1 次提交
  31. 04 2月, 2011 1 次提交
    • J
      qemu: Add shortcut for HMP pass through · 2169472a
      Jiri Denemark 提交于
      Currently users who want to use virDomainQemuMonitorCommand() API or
      it's virsh equivalent has to use the same protocol as libvirt uses for
      communication to qemu. Since the protocol is QMP with current qemu and
      HMP much more usable for humans, one ends up typing something like the
      following:
      
          virsh qemu-monitor-command DOM \
      '{"execute":"human-monitor-command","arguments":{"command-line":"info kvm"}}'
      
      which is not a very convenient way of debugging qemu.
      
      This patch introduces --hmp option to qemu-monitor-command, which says
      that the provided command is in HMP. If libvirt uses QMP to talk with
      qemu, the command will automatically be converted into QMP. So the
      example above is simplified to just
      
          virsh qemu-monitor-command --hmp DOM "info kvm"
      
      Also the result is converted from
      
          {"return":"kvm support: enabled\r\n"}
      
      to just plain HMP:
      
          kvm support: enabled
      
      If libvirt talks to qemu in HMP, --hmp flag is obviously a noop.
      2169472a
  32. 30 1月, 2011 1 次提交
    • E
      build: avoid close, system · e67ae619
      Eric Blake 提交于
      * src/fdstream.c (virFDStreamOpenFile, virFDStreamCreateFile):
      Use VIR_FORCE_CLOSE instead of close.
      * tests/commandtest.c (mymain): Likewise.
      * tools/virsh.c (editFile): Use virCommand instead of system.
      * src/util/util.c (__virExec): Special case preservation of std
      file descriptors to child.
      e67ae619