[libvirt] [PATCH] qemu: Add necessary for drive-backup block job constant
Dmitry Mishin
dim at virtuozzo.com
Mon May 16 08:20:57 UTC 2016
ping
On 25/04/16 14:16, "Dmitry Mishin" <dim at virtuozzo.com> wrote:
>If one wants to monitor 'drive-backup' command progress and completion,
>he needs a constant to recognize that. Right now, libvirt reports such
>block jobs as 'unknown'.
>
>Signed-off-by: Dmitry Mishin <dim at virtuozzo.com>
>---
> examples/object-events/event-test.c | 3 +++
> include/libvirt/libvirt-domain.h | 3 +++
> src/conf/domain_conf.c | 2 +-
> src/qemu/qemu_monitor_json.c | 2 ++
> tools/virsh-domain.c | 3 ++-
> 5 files changed, 11 insertions(+), 2 deletions(-)
>
>diff --git a/examples/object-events/event-test.c
>b/examples/object-events/event-test.c
>index 2063536..57d3610 100644
>--- a/examples/object-events/event-test.c
>+++ b/examples/object-events/event-test.c
>@@ -745,6 +745,9 @@ blockJobTypeToStr(int type)
>
> case VIR_DOMAIN_BLOCK_JOB_TYPE_ACTIVE_COMMIT:
> return "active layer block commit";
>+
>+ case VIR_DOMAIN_BLOCK_JOB_TYPE_BACKUP:
>+ return "block backup";
> }
>
> return "unknown";
>diff --git a/include/libvirt/libvirt-domain.h
>b/include/libvirt/libvirt-domain.h
>index 160f20f..17ea991 100644
>--- a/include/libvirt/libvirt-domain.h
>+++ b/include/libvirt/libvirt-domain.h
>@@ -1941,6 +1941,9 @@ typedef enum {
> /* Active Block Commit (virDomainBlockCommit with flags), job
> * exists as long as sync is active */
>
>+ VIR_DOMAIN_BLOCK_JOB_TYPE_BACKUP = 5,
>+ /* Block Backup job */
>+
> # ifdef VIR_ENUM_SENTINELS
> VIR_DOMAIN_BLOCK_JOB_TYPE_LAST
> # endif
>diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
>index 28248c8..30c97e3 100644
>--- a/src/conf/domain_conf.c
>+++ b/src/conf/domain_conf.c
>@@ -820,7 +820,7 @@ VIR_ENUM_IMPL(virDomainLoader,
> * <mirror> XML (remaining types are not two-phase). */
> VIR_ENUM_DECL(virDomainBlockJob)
> VIR_ENUM_IMPL(virDomainBlockJob, VIR_DOMAIN_BLOCK_JOB_TYPE_LAST,
>- "", "", "copy", "", "active-commit")
>+ "", "", "copy", "", "active-commit", "")
>
> VIR_ENUM_IMPL(virDomainMemoryModel, VIR_DOMAIN_MEMORY_MODEL_LAST,
> "", "dimm")
>diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
>index 7bb9976..61fbdd9 100644
>--- a/src/qemu/qemu_monitor_json.c
>+++ b/src/qemu/qemu_monitor_json.c
>@@ -831,6 +831,8 @@ qemuMonitorJSONHandleBlockJobImpl(qemuMonitorPtr mon,
> type = VIR_DOMAIN_BLOCK_JOB_TYPE_COMMIT;
> else if (STREQ(type_str, "mirror"))
> type = VIR_DOMAIN_BLOCK_JOB_TYPE_COPY;
>+ else if (STREQ(type_str, "backup"))
>+ type = VIR_DOMAIN_BLOCK_JOB_TYPE_BACKUP;
>
> switch ((virConnectDomainEventBlockJobStatus) event) {
> case VIR_DOMAIN_BLOCK_JOB_COMPLETED:
>diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
>index a9f70dc..1b8c9b9 100644
>--- a/tools/virsh-domain.c
>+++ b/tools/virsh-domain.c
>@@ -2527,7 +2527,8 @@ VIR_ENUM_IMPL(virshDomainBlockJob,
> N_("Block Pull"),
> N_("Block Copy"),
> N_("Block Commit"),
>- N_("Active Block Commit"))
>+ N_("Active Block Commit"),
>+ N_("Block Backup"))
>
> static const char *
> virshDomainBlockJobToString(int type)
>--
>1.8.3.1
>
More information about the libvir-list
mailing list