qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [patch 6/7] QEMU live block copy (update)


From: Jiri Denemark
Subject: Re: [Qemu-devel] [patch 6/7] QEMU live block copy (update)
Date: Tue, 7 Jun 2011 12:15:55 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Mon, Jun 06, 2011 at 14:03:44 -0300, Marcelo Tosatti wrote:
...
>  SQMP
> +query-block-copy
> +-------------
> +
> +Live block copy status.
> +
> +Each block copy instance information is stored in a json-object and the 
> returned
> +value is a json-array of all instances.
> +
> +Each json-object contains the following:
> +
> +- "device": device name (json-string)
> +- "status": block copy status (json-string)
> +    - Possible values: "active", "failed", "mirrored", "completed", meaning:
> +                    - failed: block copy failed.
> +                    - active: block copy active, copying to destination 
> image.
> +                    - mirrored: block copy active, finished copying to 
> destination
> +                      image, writes are mirrored.
> +                    - completed: block copy completed.
> +
> +- "info": A json-object with the statistics information, if status is 
> "active":
> +    - "percentage": percentage completed (json-int)
> +
> +Example:
> +
> +Block copy for "ide1-hd0" active and block copy for "ide1-hd1" failed:
> +
> +-> { "execute": "query-block-copy" }
> +<- {
> +      "return":[
> +        {"device":"ide1-hd0",
> +            "status":"active",
> +            "info":{
> +               "percentage":23,
> +            }
> +        },

What about using the same form of progress reporting as used by query-migrate?
That is, instead of

    "info":{
        "percentage":23
    }

the following would be reported:

    "disk":{
        "transferred":123,
        "remaining":123,
        "total":246
    }

One can trivially compute percentage from that but it's impossible to get this
kind of data when only percentage is reported. And total can even change in
time if needed (just like it changes during migration).

> +        {"device":"ide1-hd1",
> +         "status":"failed"
> +        }

Is there any way we can get the exact error which made it fail, such as EPERM
or ENOSPC?

> +      ]
> +   }
> +
> +EQMP

Jirka



reply via email to

[Prev in Thread] Current Thread [Next in Thread]