static int
qemuBuildDriveURIString(virConnectPtr conn,
virDomainDiskDefPtr disk,
- virBufferPtr opt,
- int protocol,
- virSecretUsageType secretUsageType)
+ virBufferPtr opt)
{
char *secret = NULL;
char *builturi = NULL;
virBufferAddLit(opt, "file=");
- if (disk->auth.username && secretUsageType != VIR_SECRET_USAGE_TYPE_NONE) {
+ if (disk->protocol == VIR_DOMAIN_DISK_PROTOCOL_ISCSI &&
+ disk->auth.username) {
/* Get the secret string using the virDomainDiskDef */
if (!(secret = qemuGetSecretString(conn,
- virDomainDiskProtocolTypeToString(protocol),
+ virDomainDiskProtocolTypeToString(disk->protocol),
false,
disk->auth.secretType,
disk->auth.username,
disk->auth.secret.uuid,
disk->auth.secret.usage,
- secretUsageType)))
+ VIR_SECRET_USAGE_TYPE_ISCSI)))
goto cleanup;
}
- if (!(builturi = qemuBuildNetworkDriveURI(protocol,
+
+ if (!(builturi = qemuBuildNetworkDriveURI(disk->protocol,
disk->src,
disk->nhosts,
disk->hosts,
goto cleanup;
virBufferEscape(opt, ',', ",", "%s", builturi);
+ virBufferAddChar(opt, ',');
ret = 0;
&& !disk->hosts->name)
|| (disk->hosts->transport == VIR_DOMAIN_DISK_PROTO_TRANS_UNIX
&& disk->hosts->socket && disk->hosts->socket[0] != '/'))
- return qemuBuildDriveURIString(conn, disk, opt,
- VIR_DOMAIN_DISK_PROTOCOL_NBD,
- VIR_SECRET_USAGE_TYPE_NONE);
+ return qemuBuildDriveURIString(conn, disk, opt);
virBufferAddLit(opt, "file=nbd:");
if (disk->src)
virBufferEscape(opt, ',', ",", ":exportname=%s", disk->src);
+ virBufferAddChar(opt, ',');
+
return 0;
}
case VIR_DOMAIN_DISK_PROTOCOL_NBD:
if (qemuBuildNBDString(conn, disk, &opt) < 0)
goto error;
- virBufferAddChar(&opt, ',');
break;
case VIR_DOMAIN_DISK_PROTOCOL_RBD:
virBufferAddLit(&opt, "file=");
goto error;
virBufferAddChar(&opt, ',');
break;
+
case VIR_DOMAIN_DISK_PROTOCOL_GLUSTER:
- if (qemuBuildDriveURIString(conn, disk, &opt,
- VIR_DOMAIN_DISK_PROTOCOL_GLUSTER,
- VIR_SECRET_USAGE_TYPE_NONE) < 0)
- goto error;
- virBufferAddChar(&opt, ',');
- break;
case VIR_DOMAIN_DISK_PROTOCOL_ISCSI:
- if (qemuBuildDriveURIString(conn, disk, &opt,
- VIR_DOMAIN_DISK_PROTOCOL_ISCSI,
- VIR_SECRET_USAGE_TYPE_ISCSI) < 0)
+ if (qemuBuildDriveURIString(conn, disk, &opt) < 0)
goto error;
- virBufferAddChar(&opt, ',');
break;
case VIR_DOMAIN_DISK_PROTOCOL_SHEEPDOG: