fi
+dnl Need to test if pkg-config exists
+PKG_PROG_PKG_CONFIG
+
dnl OpenNebula driver Compilation setting
dnl
AC_SUBST([XMLRPC_LIBS])
-dnl Need to test if pkg-config exists
-PKG_PROG_PKG_CONFIG
-
dnl ==========================================================================
dnl find libxml2 library, borrowed from xmlsec
dnl ==========================================================================
# Stateful, so linked to daemon instead
#libvirt_la_LIBADD += libvirt_driver_one.la
endif
-libvirt_driver_one_la_CFLAGS = $(ONE_LIBS)
-libvirt_driver_one_la_LDFLAGS = $(ONE_LIBS)
+libvirt_driver_one_la_CFLAGS = $(XMLRPC_CFLAGS)
+libvirt_driver_one_la_LDFLAGS = $(XMLRPC_LIBS)
#libvirt_driver_one_la_CFLAGS = "-DWITH_ONE"
if WITH_DRIVER_MODULES
libvirt_driver_one_la_LDFLAGS += -module -avoid-version
virBufferAddChar;
virBufferContentAndReset;
virBufferError;
+virBufferURIEncodeString;
# caps.h
virInterfaceDefFormat;
virInterfaceDefParseFile;
virInterfaceDefParseString;
+virInterfaceDefParseNode;
virInterfaceDefFree;
+virInterfaceFindByName;
+virInterfaceFindByMACString;
+virInterfaceAssignDef;
+virInterfaceRemove;
+virInterfaceObjLock;
+virInterfaceObjUnlock;
+virInterfaceObjListFree;
+
# interface_driver.h
interfaceRegister;
virRegisterStateDriver;
virRegisterStorageDriver;
virRegisterDeviceMonitor;
+virRegisterSecretDriver;
# logging.h
virGetUserID;
virGetGroupID;
virFileFindMountPoint;
+virFileWaitForDevices;
# usb.h
usbGetDevice;
# virterror_internal.h
virReportErrorHelper;
virErrorMsg;
-virRaiseError;
+virRaiseErrorFull;
virReportSystemErrorFull;
virReportOOMErrorFull;
virStrerror;
#include "node_device_conf.h"
#include "node_device_hal.h"
#include "node_device.h"
-#include "storage_backend.h" /* For virWaitForDevices */
+#include "util.h"
#define VIR_FROM_THIS VIR_FROM_NODEDEV
while ((now - start) < LINUX_NEW_DEVICE_WAIT_TIME) {
- virWaitForDevices(conn);
+ virFileWaitForDevices(conn);
dev = nodeDeviceLookupByWWN(conn, wwnn, wwpn);
return virStorageBackendCreateRaw;
}
-#if defined(UDEVADM) || defined(UDEVSETTLE)
-void virWaitForDevices(virConnectPtr conn)
-{
-#ifdef UDEVADM
- const char *const settleprog[] = { UDEVADM, "settle", NULL };
-#else
- const char *const settleprog[] = { UDEVSETTLE, NULL };
-#endif
- int exitstatus;
-
- if (access(settleprog[0], X_OK) != 0)
- return;
-
- /*
- * NOTE: we ignore errors here; this is just to make sure that any device
- * nodes that are being created finish before we try to scan them.
- * If this fails for any reason, we still have the backup of polling for
- * 5 seconds for device nodes.
- */
- virRun(conn, settleprog, &exitstatus);
-}
-#else
-void virWaitForDevices(virConnectPtr conn ATTRIBUTE_UNUSED) {}
-#endif
-
virStorageBackendPtr
virStorageBackendForType(int type) {
}
-void virStorageBackendWaitForDevices(virConnectPtr conn)
-{
- virWaitForDevices(conn);
- return;
-}
-
/*
* Given a volume path directly in /dev/XXX, iterate over the
* entries in the directory pool->def->target.path and find the
virStorageBackendUpdateVolTargetFormatFD(virConnectPtr conn,
virStorageVolTargetPtr target,
int fd);
-void virStorageBackendWaitForDevices(virConnectPtr conn);
char *virStorageBackendStablePath(virConnectPtr conn,
virStoragePoolObjPtr pool,
virStorageBackendListVolNulFunc func,
void *data);
-void virWaitForDevices(virConnectPtr conn);
#endif /* __VIR_STORAGE_BACKEND_H__ */
VIR_FREE(pool->def->source.devices[0].freeExtents);
pool->def->source.devices[0].nfreeExtent = 0;
- virStorageBackendWaitForDevices(conn);
+ virFileWaitForDevices(conn);
if (virStorageBackendDiskReadGeometry(conn, pool) != 0) {
return -1;
return -1;
/* wait for device node to show up */
- virStorageBackendWaitForDevices(conn);
+ virFileWaitForDevices(conn);
/* Blow away free extent info, as we're about to re-populate it */
VIR_FREE(pool->def->source.devices[0].freeExtents);
};
int exitstatus;
- virStorageBackendWaitForDevices(conn);
+ virFileWaitForDevices(conn);
/* Get list of all logical volumes */
if (virStorageBackendLogicalFindLVs(conn, pool, NULL) < 0) {
pool->def->allocation = pool->def->capacity = pool->def->available = 0;
- virStorageBackendWaitForDevices(conn);
+ virFileWaitForDevices(conn);
virStorageBackendGetMaps(conn, pool);
VIR_DEBUG(_("Discovering LUs on host %u"), scanhost);
- virStorageBackendWaitForDevices(conn);
+ virFileWaitForDevices(conn);
if (virAsprintf(&device_path, "/sys/bus/scsi/devices") < 0) {
virReportOOMError(conn);
VIR_DEBUG(_("Finding host number from '%s'"), sysfs_path);
- virStorageBackendWaitForDevices(conn);
+ virFileWaitForDevices(conn);
sysdir = opendir(sysfs_path);
return ret;
}
#endif
+
+#ifndef PROXY
+#if defined(UDEVADM) || defined(UDEVSETTLE)
+void virFileWaitForDevices(virConnectPtr conn)
+{
+#ifdef UDEVADM
+ const char *const settleprog[] = { UDEVADM, "settle", NULL };
+#else
+ const char *const settleprog[] = { UDEVSETTLE, NULL };
+#endif
+ int exitstatus;
+
+ if (access(settleprog[0], X_OK) != 0)
+ return;
+
+ /*
+ * NOTE: we ignore errors here; this is just to make sure that any device
+ * nodes that are being created finish before we try to scan them.
+ * If this fails for any reason, we still have the backup of polling for
+ * 5 seconds for device nodes.
+ */
+ virRun(conn, settleprog, &exitstatus);
+}
+#else
+void virFileWaitForDevices(virConnectPtr conn ATTRIBUTE_UNUSED) {}
+#endif
+#endif
char *virFileFindMountPoint(const char *type);
#endif
+void virFileWaitForDevices(virConnectPtr conn);
+
#endif /* __VIR_UTIL_H__ */