> {
> CMPIInstance *inst = NULL;
> struct inst_list list;
> + bool val;
>
> - inst_list_init(&list);
> + if ((type == CIM_RES_TYPE_DISK) || (type == CIM_RES_TYPE_NET)) {
> + int i = 0;
> + CMPIrc rc;
>
> - if (type == CIM_RES_TYPE_MEM) {
> - *s = get_pool_by_name(broker, reference,
> "MemoryPool/0", &inst);
> - } else if (type == CIM_RES_TYPE_PROC) {
> - *s = get_pool_by_name(broker, reference,
> "ProcessorPool/0", &inst);
> - } else if (type == CIM_RES_TYPE_DISK) {
> + inst_list_init(&list);
> +
> *s = enum_pools(broker, reference, type, &list);
> - if ((s->rc == CMPI_RC_OK) && (list.cur > 0))
You probably should insert a CU_DEBUG here just to help debug
The code bit above is being removed, not added.
> - inst = list.list[0];
> - } else if (type == CIM_RES_TYPE_NET) {
> - *s = enum_pools(broker, reference, type, &list);
> - if ((s->rc == CMPI_RC_OK) && (list.cur > 0))
> - inst = list.list[0];
Same here
Same here - this code bit it being removed.
> - } else if (type == CIM_RES_TYPE_GRAPHICS) {
> - *s = get_pool_by_name(broker,
> - reference,
> - "GraphicsPool/0",
> - &inst);
Same here
It's been removed here as well.
> - } else if (type == CIM_RES_TYPE_INPUT) {
> - *s = get_pool_by_name(broker,
> - reference,
> - "InputPool/0",
> - &inst);
> + if ((s->rc == CMPI_RC_OK) && (list.cur > 0)) {
> + + for (i = 0; i <
> list.cur; i++) {
> + rc = cu_get_bool_prop(list.list[i],
> + "Primordial",
> + &val);
> + if ((rc != CMPI_RC_OK) || (val))
> + continue;
> +
> + inst = list.list[i];
> + break;
> + }
Same here
I'll fix this and send an updated patch.
--
Kaitlin Rupert
IBM Linux Technology Center
kaitlin(a)linux.vnet.ibm.com