
+#if LIBVIR_VERSION_NUMBER > 4000 +static bool get_vol_size(const CMPIBroker *broker, + const CMPIObjectPath *ref, + const char *image, + uint64_t *size) +{ + virConnectPtr conn = NULL; + virStorageVolPtr vol = NULL; + virStorageVolInfo volinfo; + CMPIStatus s; + + *size = 0; + + conn = connect_by_classname(broker, CLASSNAME(ref), &s); + if (conn == NULL) + return false; + + vol = virStorageVolLookupByPath(conn, image); + if (vol != NULL) { + if (virStorageVolGetInfo(vol, &volinfo) != 0) { + CU_DEBUG("Failed to get info for volume %s", image);
You don't set a return code here, so you'll return true in this case. You're not using the return code of this function in the calling function, but that may change in the future.
+ } else { + *size = volinfo.capacity; + } + } + + virStorageVolFree(vol); + virConnectClose(conn); + + return true;
-- Kaitlin Rupert IBM Linux Technology Center kaitlin@linux.vnet.ibm.com