[Libvirt-cim] [PATCH] Add Emulator attribute so users can specify an emulator for the guest
Deepti B Kalakeri
deeptik at linux.vnet.ibm.com
Wed Mar 18 11:35:50 UTC 2009
+1 .
Kaitlin Rupert wrote:
> # HG changeset patch
> # User Kaitlin Rupert <karupert at us.ibm.com>
> # Date 1237310504 25200
> # Node ID 6195f98ebe5ef0bb1db1bb8ca946d5449393c21c
> # Parent 1aff0d0e9bf49e738827b7157c0df407b814ae7d
> Add Emulator attribute so users can specify an emulator for the guest.
>
> Signed-off-by: Kaitlin Rupert <karupert at us.ibm.com>
>
> diff -r 1aff0d0e9bf4 -r 6195f98ebe5e schema/VSSD.mof
> --- a/schema/VSSD.mof Wed Mar 04 15:25:33 2009 -0800
> +++ b/schema/VSSD.mof Tue Mar 17 10:21:44 2009 -0700
> @@ -29,6 +29,9 @@
> "One of hd,fd,cdrom.")]
> string BootDevice;
>
> + [Description ("The emulator the guest should use during runtime.")]
> + string Emulator;
> +
> };
>
> [Description (
> @@ -42,6 +45,9 @@
> [Description ("The device to boot from. One of hd,fd,cdrom.")]
> string BootDevice;
>
> + [Description ("The emulator the guest should use during runtime.")]
> + string Emulator;
> +
> };
>
> [Description (
> diff -r 1aff0d0e9bf4 -r 6195f98ebe5e src/Virt_VirtualSystemManagementService.c
> --- a/src/Virt_VirtualSystemManagementService.c Wed Mar 04 15:25:33 2009 -0800
> +++ b/src/Virt_VirtualSystemManagementService.c Tue Mar 17 10:21:44 2009 -0700
> @@ -148,9 +148,15 @@
> return 1;
> }
>
> -static bool fv_default_emulator(struct domain *domain)
> +static bool fv_set_emulator(struct domain *domain,
> + const char *emu)
> {
> - const char *emul = XEN_EMULATOR;
> + if ((domain->type == DOMAIN_XENFV) && (emu == NULL))
> + emu = XEN_EMULATOR;
> +
> + /* No emulator value to set */
> + if (emu == NULL)
> + return true;
>
> cleanup_virt_device(domain->dev_emu);
>
> @@ -161,7 +167,7 @@
> }
>
> domain->dev_emu->type = CIM_RES_TYPE_EMU;
> - domain->dev_emu->dev.emu.path = strdup(emul);
> + domain->dev_emu->dev.emu.path = strdup(emu);
> domain->dev_emu->id = strdup("emulator");
>
> return true;
> @@ -178,8 +184,6 @@
> domain->type = DOMAIN_KVM;
> } else if (STREQC(pfx, "Xen")) {
> domain->type = DOMAIN_XENFV;
> - if (!fv_default_emulator(domain))
> - return 0;
> } else {
> CU_DEBUG("Unknown fullvirt domain type: %s", pfx);
> return 0;
> @@ -192,6 +196,17 @@
> free(domain->os_info.fv.boot);
> domain->os_info.fv.boot = strdup(val);
>
> + ret = cu_get_str_prop(inst, "Emulator", &val);
> + if (ret != CMPI_RC_OK)
> + val = NULL;
> + else if (disk_type_from_file(val) == DISK_UNKNOWN) {
> + CU_DEBUG("Emulator path does not exist: %s", val);
> + return 0;
> + }
> +
> + if (!fv_set_emulator(domain, val))
> + return 0;
> +
> return 1;
> }
>
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim
>
--
Thanks and Regards,
Deepti B. Kalakeri
IBM Linux Technology Center
deeptik at linux.vnet.ibm.com
More information about the Libvirt-cim
mailing list