[libvirt] [PATCH] storage: Update qemu-img flag checking

Daniel Veillard veillard at redhat.com
Thu Mar 10 07:29:08 UTC 2011


On Thu, Mar 10, 2011 at 03:08:28PM +0800, Osier Yang wrote:
> For newer qemu-img, the help string for "backing file format" is
> "[-F backing_fmt]".
> 
> Fix the wrong logic error by commit e997c268.
> 
> * src/storage/storage_backend.c
> ---
>  src/storage/storage_backend.c |    7 ++++---
>  1 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
> index 0751fde..6d8e8b0 100644
> --- a/src/storage/storage_backend.c
> +++ b/src/storage/storage_backend.c
> @@ -595,7 +595,8 @@ static int virStorageBackendQEMUImgBackingFormat(const char *qemuimg)
> 
>      start = strstr(help, " create ");
>      end = strstr(start, "\n");
> -    if ((tmp = strstr(start, "-F fmt")) && tmp < end)
> +    if (((tmp = strstr(start, "-F fmt")) && tmp < end) ||
> +        ((tmp = strstr(start, "-F backing_fmt")) && tmp < end))
>          ret = QEMU_IMG_BACKING_FORMAT_FLAG;
>      else if ((tmp = strstr(start, "[-o options]")) && tmp < end)
>          ret = QEMU_IMG_BACKING_FORMAT_OPTIONS;
> @@ -757,7 +758,7 @@ virStorageBackendCreateQemuImg(virConnectPtr conn,
>          };
> 
>          if (vol->target.encryption != NULL) {
> -            if (imgformat == QEMU_IMG_BACKING_FORMAT_FLAG) {
> +            if (imgformat == QEMU_IMG_BACKING_FORMAT_OPTIONS) {
>                  imgargv[8] = "-o";
>                  imgargv[9] = "encryption=on";
>              } else {
> @@ -837,7 +838,7 @@ virStorageBackendCreateQemuImg(virConnectPtr conn,
>          };
> 
>          if (vol->target.encryption != NULL) {
> -            if (imgformat == QEMU_IMG_BACKING_FORMAT_FLAG) {
> +            if (imgformat == QEMU_IMG_BACKING_FORMAT_OPTIONS) {
>                  imgargv[6] = "-o";
>                  imgargv[7] = "encryption=on";
>              } else {

  Okay, this makes sense, ACK

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list