1. 24 8月, 2016 2 次提交
    • P
      virsh: use vshError consistently after virBufferError checks · 4362ff43
      Pino Toscano 提交于
      If virBufferError() reports an error, then vshError() is needed to
      report the error situation instead of a simple vshError().
      4362ff43
    • P
      virsh: respect -q/--quiet more · b620bdee
      Pino Toscano 提交于
      Turn various vshPrint() informative messages into vshPrintExtra(), so
      they are not printed when requesting the quiet mode; neither XML/info
      outputs nor the results of commands are affected.
      Also change the expected outputs of the virsh-undefine test, since virsh
      is invoked in quiet mode there.
      
      Some informative messages might still be converted (and thus silenced
      when in quiet mode), but this is an improvements nonetheless.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1358179
      b620bdee
  2. 04 5月, 2016 1 次提交
  3. 20 4月, 2016 1 次提交
  4. 15 4月, 2016 1 次提交
  5. 12 2月, 2016 2 次提交
  6. 30 1月, 2016 1 次提交
    • W
      storage: Add TRIM algorithm to storage volume API · 63cdc92f
      Wido den Hollander 提交于
      This new algorithm adds support for wiping volumes using TRIM.
      
      It does not overwrite all the data in a volume, but it tells the
      backing storage pool/driver that all bytes in a volume can be
      discarded.
      
      It depends on the backing storage pool how this is handled.
      
      A SCSI backend might send UNMAP commands to remove all data present
      on a LUN.
      
      A Ceph backend might use rbd_discard() to instruct the Ceph cluster
      that all data on that RBD volume can be discarded.
      Signed-off-by: NWido den Hollander <wido@widodh.nl>
      63cdc92f
  7. 12 1月, 2016 3 次提交
    • J
      virsh: Create macros for common "vol" options · 5b436359
      John Ferlan 提交于
      Rather than continually cut-n-paste the strings into each command,
      create common macros to be used generically.  Replace the more commonly
      used "vol" option with a macro. This also adjusts 2 commands that
      didn't have the correct helpstr - 'vol-create-from' and 'vol-clone'.
      Both are described in the man page as taking vol, path, or key and
      the code uses the virshCommandOptVol instead of virshCommandOptVolBy.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      5b436359
    • J
      virsh: Create macro for common "file" option · febf69b5
      John Ferlan 提交于
      Rather than continually cut-n-paste the strings into each command,
      create a common macro to be used generically. The macro will take a
      single argument _helpstr for the less common help string for each
      command option.  Note that only file options using "OT_DATA" and
      "OFLAG_REQ" will be replace - others are left as is.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      febf69b5
    • J
      virsh: Adjustments for the VIRSH_COMMON_OPT_POOL · 70c6e677
      John Ferlan 提交于
      The macro is slightly adjusted to add an argument "_helpstr". This
      will be passed as a translation macro string since other uses of the
      option may not have the same exact help string (such as is the case
      when the uuid is not suppliable for create commands).
      
      In virsh-pool.c - we'll create a singular VIRSH_COMMON_OPT_POOL_FULL
      in order to pass along the 'N_("pool name or uuid")'
      
      In virsh-volume.c there will be a VIRSH_COMMON_OPT_POOL_FULL and a
      VIRSH_COMMON_OPT_POOL_NAME, which passes 'N_("pool name")' for
      the commands that can only pass a name. There will also be a
      VIRSH_COMMON_OPT_POOL_OPTIONAL which is used for the command
      options which use OT_STRING and don't require the --pool argument.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      70c6e677
  8. 18 12月, 2015 1 次提交
    • J
      virsh: Add --delete-snapshots flag for undefine and vol-delete · 2eba5c56
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1281710
      
      Commit id '3c7590e0' added the flag to the rbd backend, but provided
      no means via virsh to use the flag.  This patch adds a '--delete-snapshots'
      option to both the "undefine" and "vol-delete" commands.
      
      For "undefine", the flag is combined with the "--remove-all-storage" flag
      in order to add the appropriate flag for the virStorageVolDelete call;
      whereas, for the "vol-delete" command, just the flag is sufficient since
      it's only operating on one volume.
      
      Currently only supported for rbd backends.
      2eba5c56
  9. 09 12月, 2015 1 次提交
  10. 14 8月, 2015 1 次提交
    • E
      tools: Introduce new client generic module vsh · 834c5720
      Erik Skultety 提交于
      In order to share as much virsh' logic as possible with upcomming
      virt-admin client we need to split virsh logic into virsh specific and
      client generic features.
      
      Since majority of virsh methods should be generic enough to be used by
      other clients, it's much easier to rename virsh specific data to virshX
      than doing this vice versa. It moved generic virsh commands (including info
      and opts structures) to generic module vsh.c.
      
      Besides renaming methods and structures, this patch also involves introduction
      of a client specific control structure being referenced as private data in the
      original control structure, introduction of a new global vsh Initializer,
      which currently doesn't do much, but there is a potential for added
      functionality in the future.
      Lastly it introduced client hooks which are especially necessary during
      client connecting phase.
      834c5720
  11. 02 6月, 2015 2 次提交
  12. 01 6月, 2015 1 次提交
    • J
      virsh: make negative values with vol-resize more convenient · 0a33bba1
      Ján Tomko 提交于
      When shrinking a volume by a certain size, instead of typing
        vol-resize volume 1G --delta --shrink
      we allow the convience of specifying a negative value:
        vol-resize volume -1G --delta --shrink
      getting the same results with one more character.
      
      A negative value only makes sense as a delta. Imply the
      --delta parameter if the value is negative.
      
      Still require --shrink, because the operation is potentially
      destructive.
      0a33bba1
  13. 18 5月, 2015 1 次提交
  14. 04 2月, 2015 1 次提交
  15. 03 12月, 2014 1 次提交
  16. 15 11月, 2014 1 次提交
  17. 13 11月, 2014 1 次提交
  18. 20 8月, 2014 1 次提交
  19. 18 7月, 2014 1 次提交
    • J
      virsh vol-upload/download disallow negative offset · 570d0f63
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1087104
      
      Commit id 'c6212539' explicitly allowed a negative value to be used for
      offset and length as a shorthand for the largest value after commit id
      'f18c02ec' modified virStrToLong_ui() to essentially disallow a negative
      value.
      
      However, allowing a negative value for offset ONLY worked if the negative
      value was -1 since the eventual lseek() does allow a -1 to mean the end
      of the file.  Providing other negative values resulted in errors such as:
      
      $ virsh vol-download --pool default qcow3-vol2 /home/vm-images/raw \
        --offset -2 --length -1000
      error: cannot download from volume qcow3-vol2
      error: Unable to seek /home/vm-images/qcow3-vol2 to 18446744073709551614: Invalid argument
      
      $
      
      Thus, it seems unreasonable to expect or allow a negative value for offset
      since the only benefit is to lseek() to the end of the file and then only
      take advantage of how the OS would handle such a seek. For the purposes of
      upload or download of volume data, that seems to be a no-op.  Therefore,
      disallow a negative value for offset.
      
      Additionally, modify the man page for vol-upload and vol-download to provide
      more details regarding the valid values for both offset and length.
      570d0f63
  20. 12 6月, 2014 1 次提交
    • P
      virsh: Reject negative numbers in vshCommandOptULongLong · c6212539
      Peter Krempa 提交于
      To follow the new semantics of the vshCommandOptToU* functions convert
      this one to reject negative numbers too. To allow using -1 for "maximum"
      semantics for the vol-*load two bandwidth functions that use this helper
      introduce vshCommandOptULongLongWrap.
      c6212539
  21. 02 6月, 2014 1 次提交
    • P
      virsh: Check whether found volume is member of the specified storage pool · 6ef0b034
      Peter Krempa 提交于
      When looking up storage volumes virsh uses multiple lookup steps. Some
      of the steps don't require a pool name specified. This resulted into a
      possibility that a volume would be part of a different pool than the
      user specified:
      
      Let's have a /var/lib/libvirt/images/test.qcow image in the 'default'
      pool and a second pool 'emptypool':
      
      Currently we'd return:
        $ virsh vol-info --pool emptypool /var/lib/libvirt/images/test.qcow
        Name:           test.qcow
        Type:           file
        Capacity:       100.00 MiB
        Allocation:     212.00 KiB
      
      After the fix:
       $ tools/virsh vol-info --pool emptypool /var/lib/libvirt/images/test.qcow
       error: Requested volume '/var/lib/libvirt/images/test.qcow' is not in pool 'emptypool'
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1088667
      6ef0b034
  22. 25 3月, 2014 1 次提交
  23. 14 3月, 2014 1 次提交
  24. 05 3月, 2014 1 次提交
    • P
      virsh: volume: Fix lookup of volumes to provide better error messages · a751e345
      Peter Krempa 提交于
      If a user specifies the pool explicitly, we should make sure to point
      out that it's inactive instead of falling back to lookup by key/path and
      failing at the end. Also if the pool isn't found there's no use in
      continuing the lookup.
      
      This changes the error in case the user-selected pool is inactive from:
      
       $ virsh vol-upload --pool inactivepool --vol somevolname volcontents
       error: failed to get vol 'somevolname'
       error: Storage volume not found: no storage vol with matching path
       somevolname
      
      To a more descriptive:
      
       $ virsh vol-upload --pool inactivepool --vol somevolname volcontents
       error: pool 'inactivepool' is not active
      
      And in case a user specifies an invalid pool from:
      
       $ virsh vol-upload --pool invalidpool --vol somevolname volcontents
       error: failed to get pool 'invalidpool'
       error: failed to get vol 'somevolname', specifying --pool might help
       error: Storage volume not found: no storage vol with matching path somevolname
      
      To something less confusing:
      
       $ virsh vol-upload --pool invalidpool --vol somevolname volcontents
       error: failed to get pool 'invalidpool'
       error: Storage pool not found: no storage pool with matching name 'invalidpool'
      a751e345
  25. 25 2月, 2014 2 次提交
    • E
      virsh: kill over-engineered asprintf failure recovery · 50f7960d
      Eric Blake 提交于
      I noticed this while shortening switch statements via VIR_ENUM.
      Basically, the only ways virAsprintf can fail are if we pass a
      bogus format string (but we're not THAT bad) or if we run out
      of memory (but it already warns on our behalf in that case).
      Throw away the cruft that tries too hard to diagnose a printf
      failure.
      
      * tools/virsh-volume.c (cmdVolList): Simplify.
      * tools/virsh-pool.c (cmdPoolList): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      50f7960d
    • E
      virsh: use more compact VIR_ENUM_IMPL · 466b12ab
      Eric Blake 提交于
      Dan Berrange suggested that using VIR_ENUM_IMPL is more compact
      than open-coding switch statements, and still just as forceful
      at making us remember to update lists if we add enum values
      in the future.  Make this change throughout virsh.
      
      Sure enough, doing this change caught that we missed at least
      VIR_STORAGE_VOL_NETDIR.
      
      * tools/virsh-domain-monitor.c (vshDomainIOErrorToString)
      (vshDomainControlStateToString, vshDomainStateToString)
      (vshDomainStateReasonToString): Change switch to enum lookup.
      (cmdDomControl, cmdDominfo): Update caller.
      * tools/virsh-domain.c (vshDomainVcpuStateToString)
      (vshDomainEventToString, vshDomainEventDetailToString): Change
      switch to enum lookup.
      (vshDomainBlockJobToString, vshDomainJobToString): New functions.
      (cmdVcpuinfo, cmdBlockJob, cmdDomjobinfo, cmdEvent): Update
      callers.
      * tools/virsh-network.c (vshNetworkEventToString): Change switch
      to enum lookup.
      * tools/virsh-pool.c (vshStoragePoolStateToString): New function.
      (cmdPoolList, cmdPoolInfo): Update callers.
      * tools/virsh-volume.c (vshVolumeTypeToString): Change switch to
      enum lookup.
      (cmdVolInfo, cmdVolList): Update callers.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      466b12ab
  26. 26 11月, 2013 1 次提交
    • E
      storage: add network-dir as new storage volume type · ecd881b7
      Eric Blake 提交于
      In the 'directory' and 'netfs' storage pools, a user can see
      both 'file' and 'dir' storage volume types, to know when they
      can descend into a subdirectory.  But in a network-based storage
      pool, such as the upcoming 'gluster' pool, we use 'network'
      instead of 'file', and did not have any counterpart for a
      directory until this patch.  Adding a new volume type
      'network-dir' is better than reusing 'dir', because it makes
      it clear that the only way to access 'network' volumes within
      that container is through the network mounting (leaving 'dir'
      for something accessible in the local file system).
      
      * include/libvirt/libvirt.h.in (virStorageVolType): Expand enum.
      * docs/formatstorage.html.in: Document it.
      * docs/schemasa/storagevol.rng (vol): Allow new value.
      * src/conf/storage_conf.c (virStorageVol): Use new value.
      * src/qemu/qemu_command.c (qemuBuildVolumeString): Fix client.
      * src/qemu/qemu_conf.c (qemuTranslateDiskSourcePool): Likewise.
      * tools/virsh-volume.c (vshVolumeTypeToString): Likewise.
      * src/storage/storage_backend_fs.c
      (virStorageBackendFileSystemVolDelete): Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      ecd881b7
  27. 21 11月, 2013 1 次提交
    • E
      maint: fix comma style issues: tests, tools · 57682aea
      Eric Blake 提交于
      Most of our code base uses space after comma but not before;
      fix the remaining uses before adding a syntax check.
      
      * tests/sysinfotest.c: Consistently use commas.
      * tests/viratomictest.c: Likewise.
      * tests/vircgroupmock.c: Likewise.
      * tools/virsh-domain.c: Likewise.
      * tools/virsh-volume.c: Likewise.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      57682aea
  28. 13 11月, 2013 2 次提交
  29. 30 9月, 2013 1 次提交
  30. 11 7月, 2013 1 次提交
  31. 04 6月, 2013 1 次提交
    • J
      virsh: Obey pool-or-uuid spec when creating volumes · 63409653
      Jiri Denemark 提交于
      Our documentation says a pool may be referenced by its name or UUID
      anywhere if it makes sense (pool-name and pool-uuid are the only
      exceptions). However, vol-create and vol-create-as commands did not obey
      this.
      63409653
  32. 24 5月, 2013 1 次提交
    • O
      virsh: Fix regression of vol-resize · 2a3a725c
      Osier Yang 提交于
      Introduced by commit 1daa4ba3. vshCommandOptStringReq returns
      0 on *success* or the option is not required && not present, both
      are right result. Error out when returning 0 is not correct.
      the caller, it doesn't have to check wether it
      2a3a725c
  33. 02 5月, 2013 1 次提交
    • M
      virutil: Move string related functions to virstring.c · 7c9a2d88
      Michal Privoznik 提交于
      The source code base needs to be adapted as well. Some files
      include virutil.h just for the string related functions (here,
      the include is substituted to match the new file), some include
      virutil.h without any need (here, the include is removed), and
      some require both.
      7c9a2d88