提交 f8f020da 编写于 作者: P Peter Krempa

conf: Move qemuDiskGetActualType to virDomainDiskGetActualType

All the data for getting the actual type is present in the domain
config. There is no need to have this function private to the qemu
driver and it will be re-used later in other parts of libvirt
上级 dca5ce4c
...@@ -1345,6 +1345,16 @@ error: ...@@ -1345,6 +1345,16 @@ error:
} }
int
virDomainDiskGetActualType(virDomainDiskDefPtr def)
{
if (def->type == VIR_DOMAIN_DISK_TYPE_VOLUME && def->srcpool)
return def->srcpool->actualtype;
return def->type;
}
void virDomainControllerDefFree(virDomainControllerDefPtr def) void virDomainControllerDefFree(virDomainControllerDefPtr def)
{ {
if (!def) if (!def)
......
...@@ -2252,6 +2252,7 @@ void virDomainDiskHostDefClear(virDomainDiskHostDefPtr def); ...@@ -2252,6 +2252,7 @@ void virDomainDiskHostDefClear(virDomainDiskHostDefPtr def);
void virDomainDiskHostDefFree(size_t nhosts, virDomainDiskHostDefPtr hosts); void virDomainDiskHostDefFree(size_t nhosts, virDomainDiskHostDefPtr hosts);
virDomainDiskHostDefPtr virDomainDiskHostDefCopy(size_t nhosts, virDomainDiskHostDefPtr virDomainDiskHostDefCopy(size_t nhosts,
virDomainDiskHostDefPtr hosts); virDomainDiskHostDefPtr hosts);
int virDomainDiskGetActualType(virDomainDiskDefPtr def);
int virDomainDeviceFindControllerModel(virDomainDefPtr def, int virDomainDeviceFindControllerModel(virDomainDefPtr def,
virDomainDeviceInfoPtr info, virDomainDeviceInfoPtr info,
int controllerType); int controllerType);
......
...@@ -198,6 +198,7 @@ virDomainDiskErrorPolicyTypeToString; ...@@ -198,6 +198,7 @@ virDomainDiskErrorPolicyTypeToString;
virDomainDiskFindByBusAndDst; virDomainDiskFindByBusAndDst;
virDomainDiskGeometryTransTypeFromString; virDomainDiskGeometryTransTypeFromString;
virDomainDiskGeometryTransTypeToString; virDomainDiskGeometryTransTypeToString;
virDomainDiskGetActualType;
virDomainDiskHostDefClear; virDomainDiskHostDefClear;
virDomainDiskHostDefCopy; virDomainDiskHostDefCopy;
virDomainDiskHostDefFree; virDomainDiskHostDefFree;
......
...@@ -3869,7 +3869,7 @@ qemuDomainDiskGetSourceString(virConnectPtr conn, ...@@ -3869,7 +3869,7 @@ qemuDomainDiskGetSourceString(virConnectPtr conn,
virDomainDiskDefPtr disk, virDomainDiskDefPtr disk,
char **source) char **source)
{ {
int actualType = qemuDiskGetActualType(disk); int actualType = virDomainDiskGetActualType(disk);
char *secret = NULL; char *secret = NULL;
int ret = -1; int ret = -1;
...@@ -3899,7 +3899,7 @@ qemuDomainDiskGetSourceString(virConnectPtr conn, ...@@ -3899,7 +3899,7 @@ qemuDomainDiskGetSourceString(virConnectPtr conn,
goto cleanup; goto cleanup;
} }
ret = qemuGetDriveSourceString(qemuDiskGetActualType(disk), ret = qemuGetDriveSourceString(virDomainDiskGetActualType(disk),
disk->src, disk->src,
disk->protocol, disk->protocol,
disk->nhosts, disk->nhosts,
...@@ -3927,7 +3927,7 @@ qemuBuildDriveStr(virConnectPtr conn, ...@@ -3927,7 +3927,7 @@ qemuBuildDriveStr(virConnectPtr conn,
int idx = virDiskNameToIndex(disk->dst); int idx = virDiskNameToIndex(disk->dst);
int busid = -1, unitid = -1; int busid = -1, unitid = -1;
char *source = NULL; char *source = NULL;
int actualType = qemuDiskGetActualType(disk); int actualType = virDomainDiskGetActualType(disk);
if (idx < 0) { if (idx < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
......
...@@ -1303,16 +1303,6 @@ cleanup: ...@@ -1303,16 +1303,6 @@ cleanup:
} }
int
qemuDiskGetActualType(virDomainDiskDefPtr def)
{
if (def->type == VIR_DOMAIN_DISK_TYPE_VOLUME && def->srcpool)
return def->srcpool->actualtype;
return def->type;
}
int int
qemuTranslateDiskSourcePool(virConnectPtr conn, qemuTranslateDiskSourcePool(virConnectPtr conn,
virDomainDiskDefPtr def) virDomainDiskDefPtr def)
......
...@@ -305,8 +305,6 @@ int qemuSetUnprivSGIO(virDomainDeviceDefPtr dev); ...@@ -305,8 +305,6 @@ int qemuSetUnprivSGIO(virDomainDeviceDefPtr dev);
int qemuDriverAllocateID(virQEMUDriverPtr driver); int qemuDriverAllocateID(virQEMUDriverPtr driver);
virDomainXMLOptionPtr virQEMUDriverCreateXMLConf(virQEMUDriverPtr driver); virDomainXMLOptionPtr virQEMUDriverCreateXMLConf(virQEMUDriverPtr driver);
int qemuDiskGetActualType(virDomainDiskDefPtr def);
int qemuTranslateDiskSourcePool(virConnectPtr conn, int qemuTranslateDiskSourcePool(virConnectPtr conn,
virDomainDiskDefPtr def); virDomainDiskDefPtr def);
......
...@@ -12260,7 +12260,7 @@ endjob: ...@@ -12260,7 +12260,7 @@ endjob:
static int static int
qemuDomainSnapshotPrepareDiskExternalBackingInactive(virDomainDiskDefPtr disk) qemuDomainSnapshotPrepareDiskExternalBackingInactive(virDomainDiskDefPtr disk)
{ {
int actualType = qemuDiskGetActualType(disk); int actualType = virDomainDiskGetActualType(disk);
switch ((enum virDomainDiskType) actualType) { switch ((enum virDomainDiskType) actualType) {
case VIR_DOMAIN_DISK_TYPE_BLOCK: case VIR_DOMAIN_DISK_TYPE_BLOCK:
...@@ -12304,7 +12304,7 @@ qemuDomainSnapshotPrepareDiskExternalBackingInactive(virDomainDiskDefPtr disk) ...@@ -12304,7 +12304,7 @@ qemuDomainSnapshotPrepareDiskExternalBackingInactive(virDomainDiskDefPtr disk)
static int static int
qemuDomainSnapshotPrepareDiskExternalBackingActive(virDomainDiskDefPtr disk) qemuDomainSnapshotPrepareDiskExternalBackingActive(virDomainDiskDefPtr disk)
{ {
int actualType = qemuDiskGetActualType(disk); int actualType = virDomainDiskGetActualType(disk);
if (actualType == VIR_DOMAIN_DISK_TYPE_BLOCK && if (actualType == VIR_DOMAIN_DISK_TYPE_BLOCK &&
disk->device == VIR_DOMAIN_DISK_DEVICE_LUN) { disk->device == VIR_DOMAIN_DISK_DEVICE_LUN) {
...@@ -12448,7 +12448,7 @@ qemuDomainSnapshotPrepareDiskInternal(virConnectPtr conn, ...@@ -12448,7 +12448,7 @@ qemuDomainSnapshotPrepareDiskInternal(virConnectPtr conn,
if (qemuTranslateDiskSourcePool(conn, disk) < 0) if (qemuTranslateDiskSourcePool(conn, disk) < 0)
return -1; return -1;
actualType = qemuDiskGetActualType(disk); actualType = virDomainDiskGetActualType(disk);
switch ((enum virDomainDiskType) actualType) { switch ((enum virDomainDiskType) actualType) {
case VIR_DOMAIN_DISK_TYPE_BLOCK: case VIR_DOMAIN_DISK_TYPE_BLOCK:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册