+Tue Mar 31 17:40:00 CEST 2009 Chris Lalancette <clalance@redhat.com>
+ * src/lxc_driver.c, src/openvz_driver.c, src/qemu_driver.c,
+ src/remote_internal.c, src/test.c, src/uml_driver.c, src/xen_unified.c,
+ src/driver.h, src/libvirt.c, src/proxy_internal.c, src/xen_inotify.c,
+ src/xen_internal.c, src/xen_unified.h, src/xend_internal.c,
+ src/xm_internal.c, src/xs_internal.c: Convert all drivers to use
+ old-style struct initializers; this makes a handy built-in TODO list
+ for each driver. Also rip out the internal getURI method; it was never
+ used by any of the drivers, and was buggy to boot.
+
Tue Mar 31 14:44:16 CEST 2009 Daniel Veillard <veillard@redhat.com>
* libvirt.spec.in: better modularization of the spec file,
virDrvGetType type;
virDrvGetVersion version;
virDrvGetHostname getHostname;
- virDrvGetURI getURI;
virDrvGetMaxVcpus getMaxVcpus;
virDrvNodeGetInfo nodeGetInfo;
virDrvGetCapabilities getCapabilities;
return NULL;
}
- /* Drivers may override getURI, but if they don't then
- * we provide a default implementation.
- */
- if (conn->driver->getURI) {
- name = conn->driver->getURI (conn);
- if (!name)
- goto error;
- }
-
name = (char *)xmlSaveUri(conn->uri);
if (!name) {
virReportOOMError (conn);
NULL, /* type */
lxcVersion, /* version */
NULL, /* getHostname */
- NULL, /* getURI */
NULL, /* getMaxVcpus */
NULL, /* nodeGetInfo */
NULL, /* getCapabilities */
NULL, /* domainEventDeregister */
NULL, /* domainMigratePrepare2 */
NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceAttach */
+ NULL, /* nodeDeviceDettach */
NULL, /* nodeDeviceReAttach */
NULL, /* nodeDeviceReset */
};
NULL, /* supports_feature */
openvzGetType, /* type */
openvzGetVersion, /* version */
- NULL, /* hostname */
- NULL, /* uri */
+ NULL, /* getHostname */
openvzGetMaxVCPUs, /* getMaxVcpus */
openvzGetNodeInfo, /* nodeGetInfo */
openvzGetCapabilities, /* getCapabilities */
NULL, /* domainGetSecurityLabel */
NULL, /* nodeGetSecurityModel */
openvzDomainDumpXML, /* domainDumpXML */
- openvzListDefinedDomains, /* listDomains */
- openvzNumDefinedDomains, /* numOfDomains */
+ openvzListDefinedDomains, /* listDefinedDomains */
+ openvzNumDefinedDomains, /* numOfDefinedDomains */
openvzDomainCreate, /* domainCreate */
openvzDomainDefineXML, /* domainDefineXML */
openvzDomainUndefine, /* domainUndefine */
NULL, /* domainBlockPeek */
NULL, /* domainMemoryPeek */
NULL, /* nodeGetCellsFreeMemory */
- NULL, /* nodeGetFreeMemory */
+ NULL, /* getFreeMemory */
NULL, /* domainEventRegister */
NULL, /* domainEventDeregister */
NULL, /* domainMigratePrepare2 */
NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceAttach */
+ NULL, /* nodeDeviceDettach */
NULL, /* nodeDeviceReAttach */
NULL, /* nodeDeviceReset */
};
xenProxyClose, /* close */
xenProxyGetVersion, /* version */
NULL, /* hostname */
- NULL, /* URI */
xenProxyNodeGetInfo, /* nodeGetInfo */
xenProxyGetCapabilities, /* getCapabilities */
xenProxyListDomains, /* listDomains */
qemudSupportsFeature, /* supports_feature */
qemudGetType, /* type */
qemudGetVersion, /* version */
- qemudGetHostname, /* hostname */
- NULL, /* URI */
+ qemudGetHostname, /* getHostname */
qemudGetMaxVCPUs, /* getMaxVcpus */
qemudGetNodeInfo, /* nodeGetInfo */
qemudGetCapabilities, /* getCapabilities */
qemudDomainGetSecurityLabel, /* domainGetSecurityLabel */
qemudNodeGetSecurityModel, /* nodeGetSecurityModel */
qemudDomainDumpXML, /* domainDumpXML */
- qemudListDefinedDomains, /* listDomains */
- qemudNumDefinedDomains, /* numOfDomains */
+ qemudListDefinedDomains, /* listDefinedDomains */
+ qemudNumDefinedDomains, /* numOfDefinedDomains */
qemudDomainStart, /* domainCreate */
qemudDomainDefine, /* domainDefineXML */
qemudDomainUndefine, /* domainUndefine */
}
static virDriver driver = {
- .no = VIR_DRV_REMOTE,
- .name = "remote",
- .open = remoteOpen,
- .close = remoteClose,
- .supports_feature = remoteSupportsFeature,
- .type = remoteType,
- .version = remoteGetVersion,
- .getHostname = remoteGetHostname,
- .getMaxVcpus = remoteGetMaxVcpus,
- .nodeGetInfo = remoteNodeGetInfo,
- .getCapabilities = remoteGetCapabilities,
- .listDomains = remoteListDomains,
- .numOfDomains = remoteNumOfDomains,
- .domainCreateXML = remoteDomainCreateXML,
- .domainLookupByID = remoteDomainLookupByID,
- .domainLookupByUUID = remoteDomainLookupByUUID,
- .domainLookupByName = remoteDomainLookupByName,
- .domainSuspend = remoteDomainSuspend,
- .domainResume = remoteDomainResume,
- .domainShutdown = remoteDomainShutdown,
- .domainReboot = remoteDomainReboot,
- .domainDestroy = remoteDomainDestroy,
- .domainGetOSType = remoteDomainGetOSType,
- .domainGetMaxMemory = remoteDomainGetMaxMemory,
- .domainSetMaxMemory = remoteDomainSetMaxMemory,
- .domainSetMemory = remoteDomainSetMemory,
- .domainGetInfo = remoteDomainGetInfo,
- .domainSave = remoteDomainSave,
- .domainRestore = remoteDomainRestore,
- .domainCoreDump = remoteDomainCoreDump,
- .domainSetVcpus = remoteDomainSetVcpus,
- .domainPinVcpu = remoteDomainPinVcpu,
- .domainGetVcpus = remoteDomainGetVcpus,
- .domainGetMaxVcpus = remoteDomainGetMaxVcpus,
- .domainGetSecurityLabel = remoteDomainGetSecurityLabel,
- .nodeGetSecurityModel = remoteNodeGetSecurityModel,
- .domainDumpXML = remoteDomainDumpXML,
- .listDefinedDomains = remoteListDefinedDomains,
- .numOfDefinedDomains = remoteNumOfDefinedDomains,
- .domainCreate = remoteDomainCreate,
- .domainDefineXML = remoteDomainDefineXML,
- .domainUndefine = remoteDomainUndefine,
- .domainAttachDevice = remoteDomainAttachDevice,
- .domainDetachDevice = remoteDomainDetachDevice,
- .domainGetAutostart = remoteDomainGetAutostart,
- .domainSetAutostart = remoteDomainSetAutostart,
- .domainGetSchedulerType = remoteDomainGetSchedulerType,
- .domainGetSchedulerParameters = remoteDomainGetSchedulerParameters,
- .domainSetSchedulerParameters = remoteDomainSetSchedulerParameters,
- .domainMigratePrepare = remoteDomainMigratePrepare,
- .domainMigratePerform = remoteDomainMigratePerform,
- .domainMigrateFinish = remoteDomainMigrateFinish,
- .domainBlockStats = remoteDomainBlockStats,
- .domainInterfaceStats = remoteDomainInterfaceStats,
- .domainBlockPeek = remoteDomainBlockPeek,
- .domainMemoryPeek = remoteDomainMemoryPeek,
- .nodeGetCellsFreeMemory = remoteNodeGetCellsFreeMemory,
- .getFreeMemory = remoteNodeGetFreeMemory,
- .domainEventRegister = remoteDomainEventRegister,
- .domainEventDeregister = remoteDomainEventDeregister,
- .domainMigratePrepare2 = remoteDomainMigratePrepare2,
- .domainMigrateFinish2 = remoteDomainMigrateFinish2,
- .nodeDeviceDettach = remoteNodeDeviceDettach,
- .nodeDeviceReAttach = remoteNodeDeviceReAttach,
- .nodeDeviceReset = remoteNodeDeviceReset,
+ VIR_DRV_REMOTE,
+ "remote",
+ remoteOpen, /* open */
+ remoteClose, /* close */
+ remoteSupportsFeature, /* supports_feature */
+ remoteType, /* type */
+ remoteGetVersion, /* version */
+ remoteGetHostname, /* getHostname */
+ remoteGetMaxVcpus, /* getMaxVcpus */
+ remoteNodeGetInfo, /* nodeGetInfo */
+ remoteGetCapabilities, /* getCapabilities */
+ remoteListDomains, /* listDomains */
+ remoteNumOfDomains, /* numOfDomains */
+ remoteDomainCreateXML, /* domainCreateXML */
+ remoteDomainLookupByID, /* domainLookupByID */
+ remoteDomainLookupByUUID, /* domainLookupByUUID */
+ remoteDomainLookupByName, /* domainLookupByName */
+ remoteDomainSuspend, /* domainSuspend */
+ remoteDomainResume, /* domainResume */
+ remoteDomainShutdown, /* domainShutdown */
+ remoteDomainReboot, /* domainReboot */
+ remoteDomainDestroy, /* domainDestroy */
+ remoteDomainGetOSType, /* domainGetOSType */
+ remoteDomainGetMaxMemory, /* domainGetMaxMemory */
+ remoteDomainSetMaxMemory, /* domainSetMaxMemory */
+ remoteDomainSetMemory, /* domainSetMemory */
+ remoteDomainGetInfo, /* domainGetInfo */
+ remoteDomainSave, /* domainSave */
+ remoteDomainRestore, /* domainRestore */
+ remoteDomainCoreDump, /* domainCoreDump */
+ remoteDomainSetVcpus, /* domainSetVcpus */
+ remoteDomainPinVcpu, /* domainPinVcpu */
+ remoteDomainGetVcpus, /* domainGetVcpus */
+ remoteDomainGetMaxVcpus, /* domainGetMaxVcpus */
+ remoteDomainGetSecurityLabel, /* domainGetSecurityLabel */
+ remoteNodeGetSecurityModel, /* nodeGetSecurityModel */
+ remoteDomainDumpXML, /* domainDumpXML */
+ remoteListDefinedDomains, /* listDefinedDomains */
+ remoteNumOfDefinedDomains, /* numOfDefinedDomains */
+ remoteDomainCreate, /* domainCreate */
+ remoteDomainDefineXML, /* domainDefineXML */
+ remoteDomainUndefine, /* domainUndefine */
+ remoteDomainAttachDevice, /* domainAttachDevice */
+ remoteDomainDetachDevice, /* domainDetachDevice */
+ remoteDomainGetAutostart, /* domainGetAutostart */
+ remoteDomainSetAutostart, /* domainSetAutostart */
+ remoteDomainGetSchedulerType, /* domainGetSchedulerType */
+ remoteDomainGetSchedulerParameters, /* domainGetSchedulerParameters */
+ remoteDomainSetSchedulerParameters, /* domainSetSchedulerParameters */
+ remoteDomainMigratePrepare, /* domainMigratePrepare */
+ remoteDomainMigratePerform, /* domainMigratePerform */
+ remoteDomainMigrateFinish, /* domainMigrateFinish */
+ remoteDomainBlockStats, /* domainBlockStats */
+ remoteDomainInterfaceStats, /* domainInterfaceStats */
+ remoteDomainBlockPeek, /* domainBlockPeek */
+ remoteDomainMemoryPeek, /* domainMemoryPeek */
+ remoteNodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
+ remoteNodeGetFreeMemory, /* getFreeMemory */
+ remoteDomainEventRegister, /* domainEventRegister */
+ remoteDomainEventDeregister, /* domainEventDeregister */
+ remoteDomainMigratePrepare2, /* domainMigratePrepare2 */
+ remoteDomainMigrateFinish2, /* domainMigrateFinish2 */
+ remoteNodeDeviceDettach, /* nodeDeviceDettach */
+ remoteNodeDeviceReAttach, /* nodeDeviceReAttach */
+ remoteNodeDeviceReset, /* nodeDeviceReset */
};
static virNetworkDriver network_driver = {
NULL, /* supports_feature */
NULL, /* type */
testGetVersion, /* version */
- testGetHostname, /* hostname */
- NULL, /* URI */
+ testGetHostname, /* getHostname */
testGetMaxVCPUs, /* getMaxVcpus */
testNodeGetInfo, /* nodeGetInfo */
testGetCapabilities, /* getCapabilities */
testDomainEventDeregister, /* domainEventDeregister */
NULL, /* domainMigratePrepare2 */
NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceAttach */
+ NULL, /* nodeDeviceDettach */
NULL, /* nodeDeviceReAttach */
NULL, /* nodeDeviceReset */
};
NULL, /* supports_feature */
umlGetType, /* type */
umlGetVersion, /* version */
- umlGetHostname, /* hostname */
- NULL, /* URI */
+ umlGetHostname, /* getHostname */
NULL, /* getMaxVcpus */
umlGetNodeInfo, /* nodeGetInfo */
umlGetCapabilities, /* getCapabilities */
NULL, /* domainGetSecurityLabel */
NULL, /* nodeGetSecurityModel */
umlDomainDumpXML, /* domainDumpXML */
- umlListDefinedDomains, /* listDomains */
- umlNumDefinedDomains, /* numOfDomains */
+ umlListDefinedDomains, /* listDefinedDomains */
+ umlNumDefinedDomains, /* numOfDefinedDomains */
umlDomainStart, /* domainCreate */
umlDomainDefine, /* domainDefineXML */
umlDomainUndefine, /* domainUndefine */
NULL, /* getFreeMemory */
#endif
NULL, /* domainEventRegister */
- NULL, /* domainEventUnregister */
+ NULL, /* domainEventDeregister */
NULL, /* domainMigratePrepare2 */
NULL, /* domainMigrateFinish2 */
- NULL, /* nodeDeviceAttach */
+ NULL, /* nodeDeviceDettach */
NULL, /* nodeDeviceReAttach */
NULL, /* nodeDeviceReset */
};
xenInotifyClose, /* close */
NULL, /* version */
NULL, /* hostname */
- NULL, /* URI */
NULL, /* nodeGetInfo */
NULL, /* getCapabilities */
NULL, /* listDomains */
xenHypervisorClose, /* close */
xenHypervisorGetVersion, /* version */
NULL, /* hostname */
- NULL, /* URI */
NULL, /* nodeGetInfo */
xenHypervisorGetCapabilities, /* getCapabilities */
xenHypervisorListDomains, /* listDomains */
/* The interface which we export upwards to libvirt.c. */
static virDriver xenUnifiedDriver = {
- .no = VIR_DRV_XEN_UNIFIED,
- .name = "Xen",
- .open = xenUnifiedOpen,
- .close = xenUnifiedClose,
- .supports_feature = xenUnifiedSupportsFeature,
- .type = xenUnifiedType,
- .version = xenUnifiedGetVersion,
- .getHostname = xenUnifiedGetHostname,
- .getMaxVcpus = xenUnifiedGetMaxVcpus,
- .nodeGetInfo = xenUnifiedNodeGetInfo,
- .getCapabilities = xenUnifiedGetCapabilities,
- .listDomains = xenUnifiedListDomains,
- .numOfDomains = xenUnifiedNumOfDomains,
- .domainCreateXML = xenUnifiedDomainCreateXML,
- .domainLookupByID = xenUnifiedDomainLookupByID,
- .domainLookupByUUID = xenUnifiedDomainLookupByUUID,
- .domainLookupByName = xenUnifiedDomainLookupByName,
- .domainSuspend = xenUnifiedDomainSuspend,
- .domainResume = xenUnifiedDomainResume,
- .domainShutdown = xenUnifiedDomainShutdown,
- .domainReboot = xenUnifiedDomainReboot,
- .domainDestroy = xenUnifiedDomainDestroy,
- .domainGetOSType = xenUnifiedDomainGetOSType,
- .domainGetMaxMemory = xenUnifiedDomainGetMaxMemory,
- .domainSetMaxMemory = xenUnifiedDomainSetMaxMemory,
- .domainSetMemory = xenUnifiedDomainSetMemory,
- .domainGetInfo = xenUnifiedDomainGetInfo,
- .domainSave = xenUnifiedDomainSave,
- .domainRestore = xenUnifiedDomainRestore,
- .domainCoreDump = xenUnifiedDomainCoreDump,
- .domainSetVcpus = xenUnifiedDomainSetVcpus,
- .domainPinVcpu = xenUnifiedDomainPinVcpu,
- .domainGetVcpus = xenUnifiedDomainGetVcpus,
- .domainGetMaxVcpus = xenUnifiedDomainGetMaxVcpus,
- .domainDumpXML = xenUnifiedDomainDumpXML,
- .listDefinedDomains = xenUnifiedListDefinedDomains,
- .numOfDefinedDomains = xenUnifiedNumOfDefinedDomains,
- .domainCreate = xenUnifiedDomainCreate,
- .domainDefineXML = xenUnifiedDomainDefineXML,
- .domainUndefine = xenUnifiedDomainUndefine,
- .domainAttachDevice = xenUnifiedDomainAttachDevice,
- .domainDetachDevice = xenUnifiedDomainDetachDevice,
- .domainGetAutostart = xenUnifiedDomainGetAutostart,
- .domainSetAutostart = xenUnifiedDomainSetAutostart,
- .domainGetSchedulerType = xenUnifiedDomainGetSchedulerType,
- .domainGetSchedulerParameters = xenUnifiedDomainGetSchedulerParameters,
- .domainSetSchedulerParameters = xenUnifiedDomainSetSchedulerParameters,
- .domainMigratePrepare = xenUnifiedDomainMigratePrepare,
- .domainMigratePerform = xenUnifiedDomainMigratePerform,
- .domainMigrateFinish = xenUnifiedDomainMigrateFinish,
- .domainBlockStats = xenUnifiedDomainBlockStats,
- .domainInterfaceStats = xenUnifiedDomainInterfaceStats,
- .domainBlockPeek = xenUnifiedDomainBlockPeek,
- .nodeGetCellsFreeMemory = xenUnifiedNodeGetCellsFreeMemory,
- .getFreeMemory = xenUnifiedNodeGetFreeMemory,
- .domainEventRegister = xenUnifiedDomainEventRegister,
- .domainEventDeregister = xenUnifiedDomainEventDeregister,
+ VIR_DRV_XEN_UNIFIED,
+ "Xen",
+ xenUnifiedOpen, /* open */
+ xenUnifiedClose, /* close */
+ xenUnifiedSupportsFeature, /* supports_feature */
+ xenUnifiedType, /* type */
+ xenUnifiedGetVersion, /* version */
+ xenUnifiedGetHostname, /* getHostname */
+ xenUnifiedGetMaxVcpus, /* getMaxVcpus */
+ xenUnifiedNodeGetInfo, /* nodeGetInfo */
+ xenUnifiedGetCapabilities, /* getCapabilities */
+ xenUnifiedListDomains, /* listDomains */
+ xenUnifiedNumOfDomains, /* numOfDomains */
+ xenUnifiedDomainCreateXML, /* domainCreateXML */
+ xenUnifiedDomainLookupByID, /* domainLookupByID */
+ xenUnifiedDomainLookupByUUID, /* domainLookupByUUID */
+ xenUnifiedDomainLookupByName, /* domainLookupByName */
+ xenUnifiedDomainSuspend, /* domainSuspend */
+ xenUnifiedDomainResume, /* domainResume */
+ xenUnifiedDomainShutdown, /* domainShutdown */
+ xenUnifiedDomainReboot, /* domainReboot */
+ xenUnifiedDomainDestroy, /* domainDestroy */
+ xenUnifiedDomainGetOSType, /* domainGetOSType */
+ xenUnifiedDomainGetMaxMemory, /* domainGetMaxMemory */
+ xenUnifiedDomainSetMaxMemory, /* domainSetMaxMemory */
+ xenUnifiedDomainSetMemory, /* domainSetMemory */
+ xenUnifiedDomainGetInfo, /* domainGetInfo */
+ xenUnifiedDomainSave, /* domainSave */
+ xenUnifiedDomainRestore, /* domainRestore */
+ xenUnifiedDomainCoreDump, /* domainCoreDump */
+ xenUnifiedDomainSetVcpus, /* domainSetVcpus */
+ xenUnifiedDomainPinVcpu, /* domainPinVcpu */
+ xenUnifiedDomainGetVcpus, /* domainGetVcpus */
+ xenUnifiedDomainGetMaxVcpus, /* domainGetMaxVcpus */
+ NULL, /* domainGetSecurityLabel */
+ NULL, /* nodeGetSecurityModel */
+ xenUnifiedDomainDumpXML, /* domainDumpXML */
+ xenUnifiedListDefinedDomains, /* listDefinedDomains */
+ xenUnifiedNumOfDefinedDomains, /* numOfDefinedDomains */
+ xenUnifiedDomainCreate, /* domainCreate */
+ xenUnifiedDomainDefineXML, /* domainDefineXML */
+ xenUnifiedDomainUndefine, /* domainUndefine */
+ xenUnifiedDomainAttachDevice, /* domainAttachDevice */
+ xenUnifiedDomainDetachDevice, /* domainDetachDevice */
+ xenUnifiedDomainGetAutostart, /* domainGetAutostart */
+ xenUnifiedDomainSetAutostart, /* domainSetAutostart */
+ xenUnifiedDomainGetSchedulerType, /* domainGetSchedulerType */
+ xenUnifiedDomainGetSchedulerParameters, /* domainGetSchedulerParameters */
+ xenUnifiedDomainSetSchedulerParameters, /* domainSetSchedulerParameters */
+ xenUnifiedDomainMigratePrepare, /* domainMigratePrepare */
+ xenUnifiedDomainMigratePerform, /* domainMigratePerform */
+ xenUnifiedDomainMigrateFinish, /* domainMigrateFinish */
+ xenUnifiedDomainBlockStats, /* domainBlockStats */
+ xenUnifiedDomainInterfaceStats, /* domainInterfaceStats */
+ xenUnifiedDomainBlockPeek, /* domainBlockPeek */
+ NULL, /* domainMemoryPeek */
+ xenUnifiedNodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */
+ xenUnifiedNodeGetFreeMemory, /* getFreeMemory */
+ xenUnifiedDomainEventRegister, /* domainEventRegister */
+ xenUnifiedDomainEventDeregister, /* domainEventDeregister */
+ NULL, /* domainMigratePrepare2 */
+ NULL, /* domainMigrateFinish2 */
+ NULL, /* nodeDeviceDettach */
+ NULL, /* nodeDeviceReAttach */
+ NULL, /* nodeDeviceReset */
};
/**
virDrvClose close;
virDrvGetVersion version;
virDrvGetHostname getHostname;
- virDrvGetURI getURI;
virDrvNodeGetInfo nodeGetInfo;
virDrvGetCapabilities getCapabilities;
virDrvListDomains listDomains;
xenDaemonClose, /* close */
xenDaemonGetVersion, /* version */
NULL, /* hostname */
- NULL, /* URI */
xenDaemonNodeGetInfo, /* nodeGetInfo */
NULL, /* getCapabilities */
xenDaemonListDomains, /* listDomains */
xenXMClose, /* close */
NULL, /* version */
NULL, /* hostname */
- NULL, /* URI */
NULL, /* nodeGetInfo */
NULL, /* getCapabilities */
NULL, /* listDomains */
xenStoreClose, /* close */
NULL, /* version */
NULL, /* hostname */
- NULL, /* URI */
NULL, /* nodeGetInfo */
NULL, /* getCapabilities */
xenStoreListDomains, /* listDomains */