+1. Thanks.
Pushed.
Sharad Mishra wrote:
# HG changeset patch
# User Sharad Mishra <snmishra(a)us.ibm.com>
# Date 1293496322 28800
# Node ID 28f3d6f46a06aa5be6aba8bcfeda55bd0ddc5468
# Parent 35396e5b805193c024b6d4f065136d7b57a0b03d
Patch to fix missing DiskPool type.
DiskPool type was not being populated.
Signed-off-by: Sharad Mishra <snmishra(a)us.ibm.com>
diff -r 35396e5b8051 -r 28f3d6f46a06 libxkutil/pool_parsing.c
--- a/libxkutil/pool_parsing.c Tue Dec 14 13:59:51 2010 -0800
+++ b/libxkutil/pool_parsing.c Mon Dec 27 16:32:02 2010 -0800
@@ -166,6 +166,30 @@
return 1;
}
+char *get_disk_pool_type(uint16_t type)
+{
+
+ switch (type) {
+ case DISK_POOL_DIR:
+ return "dir";
+ case DISK_POOL_FS:
+ return "fs";
+ case DISK_POOL_NETFS:
+ return "netfs";
+ case DISK_POOL_DISK:
+ return "disk";
+ case DISK_POOL_ISCSI:
+ return "iscsi";
+ case DISK_POOL_LOGICAL:
+ return "logical";
+ case DISK_POOL_SCSI:
+ return "scsi";
+ default:
+ return NULL;
+ }
+
+}
+
static const char *parse_disk_pool(xmlNodeSet *nsv, struct disk_pool *pool)
{
xmlNode **nodes = nsv->nodeTab;
diff -r 35396e5b8051 -r 28f3d6f46a06 libxkutil/pool_parsing.h
--- a/libxkutil/pool_parsing.h Tue Dec 14 13:59:51 2010 -0800
+++ b/libxkutil/pool_parsing.h Mon Dec 27 16:32:02 2010 -0800
@@ -86,6 +86,7 @@
void cleanup_virt_pool_res(struct virt_pool_res **res);
int get_pool_from_xml(const char *xml, struct virt_pool *pool, int type);
+char *get_disk_pool_type(uint16_t type);
int define_pool(virConnectPtr conn, const char *xml, int res_type);
int destroy_pool(virConnectPtr conn, const char *name, int res_type);
diff -r 35396e5b8051 -r 28f3d6f46a06 src/Virt_DevicePool.c
--- a/src/Virt_DevicePool.c Tue Dec 14 13:59:51 2010 -0800
+++ b/src/Virt_DevicePool.c Mon Dec 27 16:32:02 2010 -0800
@@ -172,6 +172,7 @@
virStoragePoolInfo info;
uint64_t cap;
uint64_t res;
+ uint16_t type;
struct virt_pool *pool_vals = NULL;
const char *pool_str = NULL;
@@ -204,6 +205,10 @@
CMSetProperty(inst, "Path",
(CMPIValue *)pool_str, CMPI_chars);
}
+ type = pool_vals->pool_info.disk.pool_type;
+ CMSetProperty(inst, "OtherResourceType",
+ (CMPIValue *)get_disk_pool_type(type),
+ CMPI_chars);
}
result = true;
@@ -957,11 +962,19 @@
const char *refcn,
const CMPIBroker *broker)
{
+ CMPIStatus s = {CMPI_RC_OK, NULL};
CMPIInstance *inst;
char *poolid = NULL;
inst = get_typed_instance(broker, refcn, "DiskPool", ns);
+ if (inst == NULL) {
+ cu_statusf(broker, &s,
+ CMPI_RC_ERR_FAILED,
+ "Unable to init DiskPool instance");
+ goto out;
+ }
+
if (asprintf(&poolid, "DiskPool/%s", pool->tag) == -1)
return NULL;
@@ -976,6 +989,7 @@
CU_DEBUG("Failed to set capacity for disk pool: %s",
pool->tag);
+out:
free(poolid);
return inst;
_______________________________________________
Libvirt-cim mailing list
Libvirt-cim(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvirt-cim
--
Chip Vincent
Open Virtualization, Linux Technology Center
IBM Systems & Technology Group
phone: 919-254-4482, T/L 444-4482
email: cvincent(a)us.ibm.com