[PATCH] .#2 Replace printf() with CU_DEBUG in EAFP
by Kaitlin Rupert
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1199807895 28800
# Node ID 1bc8313927de11949fbc17b163bc838d754553b7
# Parent 021caa2990b499190a1123727ee52e2d6eaff209
.#2 Replace printf() with CU_DEBUG in EAFP.
Update - removed platform-dependent bit-width values and an extraneous "\n".
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r 021caa2990b4 -r 1bc8313927de src/Virt_ElementAllocatedFromPool.c
--- a/src/Virt_ElementAllocatedFromPool.c Tue Jan 08 07:48:08 2008 -0800
+++ b/src/Virt_ElementAllocatedFromPool.c Tue Jan 08 07:58:15 2008 -0800
@@ -135,7 +135,7 @@ static int filter_by_pool(struct inst_li
if ((dev_id == NULL) || (cn == NULL))
continue;
- printf("Device %hhi:%s", type, dev_id);
+ CU_DEBUG("Got DeviceID: %s", dev_id);
poolid = pool_member_of(_BROKER, cn, type, dev_id);
if (poolid && STREQ(poolid, _poolid))
@@ -162,11 +162,11 @@ static int devs_from_pool(uint16_t type,
if (conn == NULL)
return 0;
- printf("Connected\n");
+ CU_DEBUG("Connected");
count = get_domain_list(conn, &doms);
- printf("Got %i domains\n", count);
+ CU_DEBUG("Got %i domains", count);
for (i = 0; i < count; i++) {
const char *name;
@@ -179,11 +179,11 @@ static int devs_from_pool(uint16_t type,
/* FIXME: Get VIRT_DEV_ type here */
dom_devices(_BROKER, doms[i], ns, type, &tmp);
- printf("Got devices\n");
+ CU_DEBUG("Got devices");
filter_by_pool(list, &tmp, type, poolid);
- printf("Filtered\n");
+ CU_DEBUG("Filtered");
inst_list_free(&tmp);
virDomainFree(doms[i]);
@@ -214,7 +214,7 @@ static CMPIStatus pool_to_vdev(const CMP
goto out;
}
- CU_DEBUG("Got %s\n", poolid);
+ CU_DEBUG("Got %s", poolid);
type = device_type_from_poolid(poolid);
if (type == VIRT_DEV_UNKNOWN) {
16 years, 11 months
[PATCH] .#2 Fix get_graphics_device() - returns error if graphics tag is missing
by Kaitlin Rupert
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1199807288 28800
# Node ID 021caa2990b499190a1123727ee52e2d6eaff209
# Parent a5fb6fa9273db7c073a42622ba14a7a0c25e4d01
.#2 Fix get_graphics_device() - returns error if graphics tag is missing.
Update: Instead of returning a constant 1 from get_graphics_device() and get_emu_device(), keep the return value as is. Don't capture the return value of these functions in get_dominfo().
The graphics tag isn't mandatory, so we shouldn't capture an error in get_dominfo(). The same problem exists with get_emu_device().
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r a5fb6fa9273d -r 021caa2990b4 libxkutil/device_parsing.c
--- a/libxkutil/device_parsing.c Mon Jan 07 13:22:43 2008 -0800
+++ b/libxkutil/device_parsing.c Tue Jan 08 07:48:08 2008 -0800
@@ -719,8 +719,8 @@ int get_dominfo(virDomainPtr dom, struct
goto out;
}
- ret = get_emu_device(dom, &(*dominfo)->dev_emu);
- ret = get_graphics_device(dom, &(*dominfo)->dev_graphics);
+ get_emu_device(dom, &(*dominfo)->dev_emu);
+ get_graphics_device(dom, &(*dominfo)->dev_graphics);
(*dominfo)->dev_mem_ct = get_mem_devices(dom, &(*dominfo)->dev_mem);
(*dominfo)->dev_net_ct = get_net_devices(dom, &(*dominfo)->dev_net);
16 years, 11 months
[PATCH] Fix get_graphics_device() - returns error if graphics tag is missing
by Kaitlin Rupert
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1199734960 28800
# Node ID abcb596636c9530009756b1aa1e8900a2f01d10e
# Parent ea65740aa1ffe73b47a4a14c8a853dbb3f040016
Fix get_graphics_device() - returns error if graphics tag is missing.
The graphics tag isn't mandatory, so we shouldn't return an error here.
The same problem exists with get_emu_device().
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r ea65740aa1ff -r abcb596636c9 libxkutil/device_parsing.c
--- a/libxkutil/device_parsing.c Fri Jan 04 12:53:44 2008 -0800
+++ b/libxkutil/device_parsing.c Mon Jan 07 11:42:40 2008 -0800
@@ -395,7 +395,7 @@ static int get_emu_device(virDomainPtr d
free(xml);
- return ret;
+ return 1;
}
static int get_graphics_device(virDomainPtr dom, struct virt_device **dev)
@@ -416,7 +416,7 @@ static int get_graphics_device(virDomain
free(xml);
- return ret;
+ return 1;
}
int get_disk_devices(virDomainPtr dom, struct virt_device **list)
16 years, 11 months
[PATCH] Fix 32-bit compile issue in xml_parse_test
by Dan Smith
# HG changeset patch
# User Dan Smith <danms(a)us.ibm.com>
# Date 1199731790 28800
# Node ID d5ac4e8e1c2b14c00a4edc96b9909471fef3b5b7
# Parent b64e8fda92bffa03bde3dc8c05dc320e2a515de3
Fix 32-bit compile issue in xml_parse_test
Signed-off-by: Dan Smith <danms(a)us.ibm.com>
diff -r b64e8fda92bf -r d5ac4e8e1c2b libxkutil/xml_parse_test.c
--- a/libxkutil/xml_parse_test.c Mon Jan 07 10:46:13 2008 -0800
+++ b/libxkutil/xml_parse_test.c Mon Jan 07 10:49:50 2008 -0800
@@ -1,4 +1,5 @@
#include <stdio.h>
+#include <inttypes.h>
#include <libvirt/libvirt.h>
@@ -12,7 +13,7 @@ static void print_value(FILE *d, const c
static void print_u64(FILE *d, const char *name, uint64_t val)
{
- fprintf(d, "%-15s: %lu\n", name, val);
+ fprintf(d, "%-15s: %" PRIu64 "\n", name, val);
}
static void print_os(struct domain *dom,
16 years, 11 months
[PATCH] Remove TRACE #define from SystemDevice
by Kaitlin Rupert
# HG changeset patch
# User Kaitlin Rupert <karupert(a)us.ibm.com>
# Date 1199740963 28800
# Node ID 27f3530502b64573ec300807453851e2efa39b53
# Parent d249e26d9d545455465e1f6fc2f03f160f3c8704
Remove TRACE #define from SystemDevice.
This doesn't appear to be used anymore.
Signed-off-by: Kaitlin Rupert <karupert(a)us.ibm.com>
diff -r d249e26d9d54 -r 27f3530502b6 src/Virt_SystemDevice.c
--- a/src/Virt_SystemDevice.c Mon Jan 07 13:14:51 2008 -0800
+++ b/src/Virt_SystemDevice.c Mon Jan 07 13:22:43 2008 -0800
@@ -55,8 +55,6 @@ const static int device_types[DEV_TYPE_C
VIRT_DEV_MEM,
VIRT_DEV_VCPU,
};
-
-#define TRACE(l, f, arg...) printf(f "\n", ##arg)
static int get_dom_devices(const char *name,
struct inst_list *list,
16 years, 11 months
[PATCH] Fix libvirt version mentioned in README
by Dan Smith
# HG changeset patch
# User Dan Smith <danms(a)us.ibm.com>
# Date 1199731573 28800
# Node ID b64e8fda92bffa03bde3dc8c05dc320e2a515de3
# Parent 0306c8af0a5f5d585d223fb1fde5dd04961bbce6
Fix libvirt version mentioned in README
Signed-off-by: Dan Smith <danms(a)us.ibm.com>
diff -r 0306c8af0a5f -r b64e8fda92bf README
--- a/README Mon Jan 07 10:45:51 2008 -0800
+++ b/README Mon Jan 07 10:46:13 2008 -0800
@@ -21,7 +21,7 @@ Requirements:
Requirements:
- Pegasus or SFCB development headers
- - libvirt 0.2.3 or greater
+ - libvirt 0.3.2 or greater
- e2fsprogs-devel
- libxml2
- libcmpiutil (http://libvirt.org/hg/libcmpiutil)
16 years, 11 months
[PATCH] .#2 Fix up style issues in device_parsing.c
by Dan Smith
# HG changeset patch
# User Dan Smith <danms(a)us.ibm.com>
# Date 1199731551 28800
# Node ID 0306c8af0a5f5d585d223fb1fde5dd04961bbce6
# Parent ea65740aa1ffe73b47a4a14c8a853dbb3f040016
.#2 Fix up style issues in device_parsing.c
Lots of whitespace issues were corrected as well. Any lines that look
untouched are trailing whitespace fixes.
Changed non-error "err" labels to "out".
Lots of other stuff.
Changes:
- Caught all 'if (!...' cases needing cleanup
Signed-off-by: Dan Smith <danms(a)us.ibm.com>
diff -r ea65740aa1ff -r 0306c8af0a5f libxkutil/device_parsing.c
--- a/libxkutil/device_parsing.c Fri Jan 04 12:53:44 2008 -0800
+++ b/libxkutil/device_parsing.c Mon Jan 07 10:45:51 2008 -0800
@@ -42,6 +42,8 @@
#define DEFAULT_BRIDGE "xenbr0"
+#define XSTREQ(x, y) (STREQ((char *)x, y))
+
static void cleanup_disk_device(struct disk_device *dev)
{
free(dev->type);
@@ -100,7 +102,7 @@ void cleanup_virt_devices(struct virt_de
*_devs = NULL;
}
-static char * get_attr_value(xmlNode *node, char *attrname)
+static char *get_attr_value(xmlNode *node, char *attrname)
{
char *buf = NULL;
char *ret = NULL;
@@ -110,6 +112,7 @@ static char * get_attr_value(xmlNode *no
ret = strdup(buf);
xmlFree(buf);
}
+
return ret;
}
@@ -127,28 +130,27 @@ static char *get_node_content(xmlNode *n
return buf;
}
-static int parse_disk_device(xmlNode *dnode, struct virt_device *vdev)
+static bool parse_disk_device(xmlNode *dnode, struct virt_device *vdev)
{
struct disk_device *ddev = &(vdev->dev.disk);
+ xmlNode * child = NULL;
+
+ memset(ddev, 0, sizeof(*ddev));
+
ddev->type = get_attr_value(dnode, "type");
- if (!ddev->type)
+ if (ddev->type == NULL)
goto err;
ddev->device = get_attr_value(dnode, "device");
- if (!ddev->device)
+ if (ddev->device == NULL)
goto err;
-
- xmlNode * child = NULL;
- ddev->driver = NULL;
- ddev->source = NULL;
- ddev->virtual_dev = NULL;
- for (child = dnode->children; child != NULL;
- child = child->next) {
- if (STREQ((char*)child->name, "driver")) {
+
+ for (child = dnode->children; child != NULL; child = child->next) {
+ if (XSTREQ(child->name, "driver")) {
ddev->driver = get_attr_value(child, "name");
- if (!ddev->driver)
+ if (ddev->driver == NULL)
goto err;
- } else if (STREQ((char*)child->name, "source")) {
+ } else if (XSTREQ(child->name, "source")) {
ddev->source = get_attr_value(child, "file");
if (ddev->source) {
ddev->disk_type = DISK_FILE;
@@ -160,131 +162,152 @@ static int parse_disk_device(xmlNode *dn
continue;
}
goto err;
- } else if (STREQ((char*)child->name, "target")) {
+ } else if (XSTREQ(child->name, "target")) {
ddev->virtual_dev = get_attr_value(child, "dev");
- if (!ddev->virtual_dev)
+ if (ddev->virtual_dev == NULL)
goto err;
}
}
- if (! (ddev->source && ddev->virtual_dev))
+ if ((ddev->source == NULL) || (ddev->virtual_dev == NULL))
goto err;
+
vdev->type = VIRT_DEV_DISK;
vdev->id = strdup(ddev->virtual_dev);
- return 1;
+ return true;
err:
cleanup_disk_device(ddev);
- return 0;
-}
-
-static int parse_net_device(xmlNode *inode, struct virt_device *vdev)
+ return false;
+}
+
+static bool parse_net_device(xmlNode *inode, struct virt_device *vdev)
{
struct net_device *ndev = &(vdev->dev.net);
+ xmlNode *child = NULL;
+
+ memset(ndev, 0, sizeof(*ndev));
+
ndev->type = get_attr_value(inode, "type");
- if (!ndev->type)
+ if (ndev->type == NULL)
goto err;
- xmlNode *child = NULL;
- ndev->mac = NULL;
- ndev->bridge = NULL;
- for (child = inode->children; child != NULL;
- child = child->next) {
- if (STREQ((char *)child->name, "mac")) {
+ for (child = inode->children; child != NULL; child = child->next) {
+ if (XSTREQ(child->name, "mac")) {
ndev->mac = get_attr_value(child, "address");
- if (!ndev->mac)
+ if (ndev->mac == NULL)
goto err;
- } else if (STREQ((char *)child->name, "source")) {
+ } else if (XSTREQ(child->name, "source")) {
ndev->bridge = get_attr_value(child, "bridge");
- if (!ndev->bridge)
+ if (ndev->bridge == NULL)
goto err;
}
}
- if (!ndev->mac)
+
+ if (ndev->mac == NULL)
goto err;
- if (!ndev->bridge) {
+
+ if (ndev->bridge == NULL) {
ndev->bridge = strdup(DEFAULT_BRIDGE);
printf("No bridge, taking default of `%s'\n", ndev->bridge);
}
+
vdev->type = VIRT_DEV_NET;
vdev->id = strdup(ndev->mac);
- return 1;
+ return true;
err:
cleanup_net_device(ndev);
-
- return 0;
-}
-
-static int parse_emu_device(xmlNode *node, struct virt_device *vdev)
+
+ return false;
+}
+
+static bool parse_emu_device(xmlNode *node, struct virt_device *vdev)
{
struct emu_device *edev = &(vdev->dev.emu);
edev->path = get_node_content(node);
+ if (edev->path != NULL)
+ goto err;
vdev->type = VIRT_DEV_EMU;
- return 1;
-}
-
-static int parse_graphics_device(xmlNode *node, struct virt_device *vdev)
+ return true;
+ err:
+ cleanup_emu_device(edev);
+
+ return false;
+}
+
+static bool parse_graphics_device(xmlNode *node, struct virt_device *vdev)
{
struct graphics_device *gdev = &(vdev->dev.graphics);
gdev->type = get_attr_value(node, "type");
gdev->port = get_attr_value(node, "port");
+ if ((gdev->type == NULL) || (gdev->port == NULL))
+ goto err;
+
vdev->type = VIRT_DEV_GRAPHICS;
- return 1;
+ return true;
+ err:
+ cleanup_graphics_device(gdev);
+
+ return false;
}
static int do_parse(xmlNodeSet *nsv, int type, struct virt_device **l)
{
- int i = 0;
- int j = 0;
+ int devidx;
+ int lstidx;
int count = 0;
struct virt_device *list = NULL;
xmlNode **dev_nodes = NULL;
- int (*do_real_parse)(xmlNode *, struct virt_device *) = NULL;
-
+ bool (*do_real_parse)(xmlNode *, struct virt_device *) = NULL;
+
/* point to correct parser function according to type */
- if (type == VIRT_DEV_NET)
- do_real_parse = &parse_net_device;
- else if (type == VIRT_DEV_DISK)
- do_real_parse = &parse_disk_device;
+ if (type == VIRT_DEV_NET)
+ do_real_parse = &parse_net_device;
+ else if (type == VIRT_DEV_DISK)
+ do_real_parse = &parse_disk_device;
else if (type == VIRT_DEV_EMU)
do_real_parse = parse_emu_device;
else if (type == VIRT_DEV_GRAPHICS)
do_real_parse = parse_graphics_device;
else
- goto err;
-
- if (!nsv)
- goto err;
+ goto out;
+
+ if (nsv == NULL)
+ goto out;
+
dev_nodes = nsv->nodeTab;
count = nsv ? nsv->nodeNr : 0;
-
- if (count > 0) {
- list = (struct virt_device *)malloc(
- count * sizeof(struct virt_device));
- if (!list) {
- count = 0;
- goto err;
- }
- /* walk thru the array, do real parsing on each node */
- while (i <= count-1) {
- if (do_real_parse(dev_nodes[i], &list[j]))
- j++;
- i++;
- }
- if (j < i) {
- list = realloc(list, j * sizeof(struct virt_device));
- count = j;
- }
- }
- err:
+
+ if (count <= 0)
+ goto out;
+
+ list = (struct virt_device *)malloc(count * sizeof(struct virt_device));
+ if (list == NULL) {
+ count = 0;
+ goto out;
+ }
+
+ /* walk thru the array, do real parsing on each node */
+ lstidx = 0;
+ for (devidx = 0; devidx < count; devidx++) {
+ if (do_real_parse(dev_nodes[devidx], &list[lstidx]))
+ lstidx++;
+ }
+
+ if (lstidx < devidx) {
+ list = realloc(list, lstidx * sizeof(struct virt_device));
+ count = lstidx;
+ }
+
+ out:
*l = list;
return count;
}
@@ -297,13 +320,13 @@ static void swallow_err_msg(void *ctx, c
static int parse_devices(char *xml, struct virt_device **_list, int type)
{
- int i = 0;
+ int len = 0;
int count = 0;
xmlDoc *xmldoc;
xmlXPathContext *xpathCtx;
xmlXPathObject *xpathObj;
- xmlChar *xpathstr;
+ xmlChar *xpathstr;
if (type == VIRT_DEV_NET)
xpathstr = NET_XPATH;
@@ -315,22 +338,22 @@ static int parse_devices(char *xml, stru
xpathstr = GRAPHICS_XPATH;
else
goto err1;
-
- i = strlen(xml) + 1;
+
+ len = strlen(xml) + 1;
xmlSetGenericErrorFunc(NULL, swallow_err_msg);
- if ((xmldoc = xmlParseMemory(xml, i)) == NULL)
+ if ((xmldoc = xmlParseMemory(xml, len)) == NULL)
goto err1;
if ((xpathCtx = xmlXPathNewContext(xmldoc)) == NULL)
goto err2;
-
+
if ((xpathObj = xmlXPathEvalExpression(xpathstr, xpathCtx))
== NULL)
goto err3;
count = do_parse(xpathObj->nodesetval, type, _list);
-
+
xmlSetGenericErrorFunc(NULL, NULL);
xmlXPathFreeObject(xpathObj);
err3:
@@ -348,7 +371,7 @@ struct virt_device *virt_device_dup(stru
struct virt_device *dev;
dev = malloc(sizeof(*dev));
- if (!dev)
+ if (dev == NULL)
return NULL;
dev->type = _dev->type;
@@ -372,7 +395,7 @@ struct virt_device *virt_device_dup(stru
dev->dev.vcpu.state = _dev->dev.vcpu.state;
dev->dev.vcpu.cpuTime = _dev->dev.vcpu.cpuTime;
dev->dev.vcpu.cpu = _dev->dev.vcpu.cpu;
- }
+ }
return dev;
}
@@ -384,7 +407,7 @@ static int get_emu_device(virDomainPtr d
struct virt_device *list = NULL;
xml = virDomainGetXMLDesc(dom, 0);
- if (!xml)
+ if (xml == NULL)
return 0;
ret = parse_devices(xml, &list, VIRT_DEV_EMU);
@@ -405,7 +428,7 @@ static int get_graphics_device(virDomain
struct virt_device *list = NULL;
xml = virDomainGetXMLDesc(dom, 0);
- if (!xml)
+ if (xml == NULL)
return 0;
ret = parse_devices(xml, &list, VIRT_DEV_GRAPHICS);
@@ -425,7 +448,7 @@ int get_disk_devices(virDomainPtr dom, s
int ret;
xml = virDomainGetXMLDesc(dom, 0);
- if (!xml)
+ if (xml == NULL)
return 0;
ret = parse_devices(xml, list, VIRT_DEV_DISK);
@@ -441,7 +464,7 @@ int get_net_devices(virDomainPtr dom, st
int ret;
xml = virDomainGetXMLDesc(dom, 0);
- if (!xml)
+ if (xml == NULL)
return 0;
ret = parse_devices(xml, list, VIRT_DEV_NET);
@@ -459,25 +482,25 @@ int get_mem_devices(virDomainPtr dom, st
struct virt_device *ret_list = NULL;
rc = virDomainGetInfo(dom, &dom_info);
- if (rc == -1){
+ if (rc == -1) {
ret = -1;
- goto err;
+ goto out;
}
mem_size = (uint64_t)dom_info.memory;
mem_maxsize = (uint64_t)dom_info.maxMem;
if (mem_size > mem_maxsize) {
ret = -1;
- goto err;
- }
-
+ goto out;
+ }
+
ret_list = malloc(sizeof(struct virt_device));
- if (!ret_list) {
+ if (ret_list == NULL) {
ret = -1;
free (ret_list);
- goto err;
- }
-
+ goto out;
+ }
+
ret_list->type = VIRT_DEV_MEM;
ret_list->dev.mem.size = mem_size;
ret_list->dev.mem.maxsize = mem_maxsize;
@@ -485,8 +508,7 @@ int get_mem_devices(virDomainPtr dom, st
ret = 1;
*list = ret_list;
-
- err:
+ out:
return ret;
}
@@ -500,7 +522,7 @@ int get_vcpu_devices(virDomainPtr dom, s
rc = virDomainGetInfo(dom, &dom_info);
if (rc == -1) {
ret = -1;
- goto error1;
+ goto out1;
}
num_vcpus = dom_info.nrVirtCpu;
@@ -508,7 +530,7 @@ int get_vcpu_devices(virDomainPtr dom, s
num_filled = virDomainGetVcpus(dom, vcpu_info, num_vcpus, NULL, 0);
if (num_vcpus != num_filled) {
ret = -1;
- goto error2;
+ goto out2;
}
ret_list = calloc(num_vcpus, sizeof(struct virt_device));
@@ -519,15 +541,15 @@ int get_vcpu_devices(virDomainPtr dom, s
vcpu_info[i].number) == -1) {
ret = -1;
free(ret_list);
- goto error2;
+ goto out2;
}
}
ret = num_vcpus;
*list = ret_list;
- error2:
+ out2:
free(vcpu_info);
- error1:
+ out1:
return ret;
}
@@ -537,7 +559,6 @@ char *get_fq_devid(char *host, char *_de
if (asprintf(&devid, "%s/%s", host, _devid) == -1)
return NULL;
-
else
return devid;
}
@@ -560,7 +581,6 @@ int parse_fq_devid(const char *devid, ch
return 1;
}
-#define XSTREQ(x, y) (STREQ((char *)x, y))
#define STRPROP(d, p, n) (d->p = get_node_content(n))
static int parse_os(struct domain *dominfo, xmlNode *os)
@@ -686,14 +706,14 @@ int get_dominfo(virDomainPtr dom, struct
return 0;
xml = virDomainGetXMLDesc(dom, 0);
- if (!xml) {
+ if (xml == NULL) {
free(*dominfo);
*dominfo = NULL;
return 0;
}
ret = _get_dominfo(xml, *dominfo);
- if (!ret) {
+ if (ret == 0) {
free(*dominfo);
*dominfo = NULL;
goto out;
@@ -717,7 +737,7 @@ void cleanup_dominfo(struct domain **dom
{
struct domain *dom = *dominfo;
- if (!dominfo || !(*dominfo))
+ if ((dominfo == NULL) || (*dominfo == NULL))
return;
free(dom->name);
16 years, 11 months
[PATCH 0 of 5] KVM XML parsing and generation support
by Dan Smith
This set adds most of the support we'll need for parsing and generating
KVM domain XML. It updates the xml_parse_test app for KVM and allows
testing of generated xml. I've tested with PV, FV, and KVM domains and
it works for me.
The next step after this will be making VSMS aware of how to create a
KVM dominfo from RASDs, which will allow us to actually define a domain
with DefineSystem for KVM.
16 years, 11 months
class Virt_VirtualSystemMigrationCapabilities
by Heidi Eckhart
Hi Dan,
the subclass for VirtualSystemMigrationCapabilities in
VSMigrationCapabilities.mof has "Virt" as prefix instead of "CIM". Does
this has a certain background ?
...
class Virt_VirtualSystemMigrationCapabilities : CIM_Capabilities {
...
--
Regards
Heidi Eckhart
Software Engineer
Linux Technology Center - Open Hypervisor
heidieck(a)linux.vnet.ibm.com
**************************************************
IBM Deutschland Entwicklung GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschaeftsfuehrung: Herbert Kircher
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
16 years, 11 months