+#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(a)linux.vnet.ibm.com