提交 dd0dbe1d 编写于 作者: J John Ferlan

qemu: Make QEMU_DRIVE_HOST_PREFIX more private

Move QEMU_DRIVE_HOST_PREFIX into the qemu_alias.c to dissuade future
callers from using it. Create qemuAliasDiskDriveSkipPrefix in order
to handle the current consumers that desire to check if an alias has
the drive- prefix and "get beyond it" in order to get the disk alias.
上级 f0f16c1e
...@@ -29,6 +29,8 @@ ...@@ -29,6 +29,8 @@
#include "virstring.h" #include "virstring.h"
#include "network/bridge_driver.h" #include "network/bridge_driver.h"
#define QEMU_DRIVE_HOST_PREFIX "drive-"
#define VIR_FROM_THIS VIR_FROM_QEMU #define VIR_FROM_THIS VIR_FROM_QEMU
VIR_LOG_INIT("qemu.qemu_alias"); VIR_LOG_INIT("qemu.qemu_alias");
...@@ -476,6 +478,21 @@ qemuAliasFromDisk(const virDomainDiskDef *disk) ...@@ -476,6 +478,21 @@ qemuAliasFromDisk(const virDomainDiskDef *disk)
} }
/* qemuAliasDiskDriveSkipPrefix:
* @dev_name: Pointer to a const char string
*
* If the QEMU_DRIVE_HOST_PREFIX exists in the input string, then
* increment the pointer and return it
*/
const char *
qemuAliasDiskDriveSkipPrefix(const char *dev_name)
{
if (STRPREFIX(dev_name, QEMU_DRIVE_HOST_PREFIX))
dev_name += strlen(QEMU_DRIVE_HOST_PREFIX);
return dev_name;
}
/* qemuDomainGetMasterKeyAlias: /* qemuDomainGetMasterKeyAlias:
* *
* Generate and return the masterKey alias * Generate and return the masterKey alias
......
...@@ -30,8 +30,6 @@ ...@@ -30,8 +30,6 @@
# include "qemu_domain.h" # include "qemu_domain.h"
# include "qemu_domain_address.h" # include "qemu_domain_address.h"
# define QEMU_DRIVE_HOST_PREFIX "drive-"
int qemuAssignDeviceChrAlias(virDomainDefPtr def, int qemuAssignDeviceChrAlias(virDomainDefPtr def,
virDomainChrDefPtr chr, virDomainChrDefPtr chr,
ssize_t idx); ssize_t idx);
...@@ -69,6 +67,8 @@ int qemuDomainDeviceAliasIndex(const virDomainDeviceInfo *info, ...@@ -69,6 +67,8 @@ int qemuDomainDeviceAliasIndex(const virDomainDeviceInfo *info,
char *qemuAliasFromDisk(const virDomainDiskDef *disk); char *qemuAliasFromDisk(const virDomainDiskDef *disk);
const char *qemuAliasDiskDriveSkipPrefix(const char *dev_name);
char *qemuDomainGetMasterKeyAlias(void); char *qemuDomainGetMasterKeyAlias(void);
char *qemuDomainGetSecretAESAlias(const char *srcalias, char *qemuDomainGetSecretAESAlias(const char *srcalias,
......
...@@ -4403,8 +4403,7 @@ qemuDomainStorageAlias(const char *device, int depth) ...@@ -4403,8 +4403,7 @@ qemuDomainStorageAlias(const char *device, int depth)
{ {
char *alias; char *alias;
if (STRPREFIX(device, QEMU_DRIVE_HOST_PREFIX)) device = qemuAliasDiskDriveSkipPrefix(device);
device += strlen(QEMU_DRIVE_HOST_PREFIX);
if (!depth) if (!depth)
ignore_value(VIR_STRDUP(alias, device)); ignore_value(VIR_STRDUP(alias, device));
......
...@@ -1800,8 +1800,7 @@ int qemuMonitorJSONGetBlockInfo(qemuMonitorPtr mon, ...@@ -1800,8 +1800,7 @@ int qemuMonitorJSONGetBlockInfo(qemuMonitorPtr mon,
goto cleanup; goto cleanup;
} }
if (STRPREFIX(thisdev, QEMU_DRIVE_HOST_PREFIX)) thisdev = qemuAliasDiskDriveSkipPrefix(thisdev);
thisdev += strlen(QEMU_DRIVE_HOST_PREFIX);
if (VIR_ALLOC(info) < 0) if (VIR_ALLOC(info) < 0)
goto cleanup; goto cleanup;
...@@ -4195,8 +4194,7 @@ qemuMonitorJSONParseBlockJobInfo(virHashTablePtr blockJobs, ...@@ -4195,8 +4194,7 @@ qemuMonitorJSONParseBlockJobInfo(virHashTablePtr blockJobs,
_("entry was missing 'device'")); _("entry was missing 'device'"));
return -1; return -1;
} }
if (STRPREFIX(device, QEMU_DRIVE_HOST_PREFIX)) device = qemuAliasDiskDriveSkipPrefix(device);
device += strlen(QEMU_DRIVE_HOST_PREFIX);
if (VIR_ALLOC(info) < 0 || if (VIR_ALLOC(info) < 0 ||
virHashAddEntry(blockJobs, device, info) < 0) { virHashAddEntry(blockJobs, device, info) < 0) {
......
...@@ -753,8 +753,7 @@ int qemuMonitorTextGetBlockInfo(qemuMonitorPtr mon, ...@@ -753,8 +753,7 @@ int qemuMonitorTextGetBlockInfo(qemuMonitorPtr mon,
p = reply; p = reply;
while (*p) { while (*p) {
if (STRPREFIX(p, QEMU_DRIVE_HOST_PREFIX)) p = (char *)qemuAliasDiskDriveSkipPrefix(p);
p += strlen(QEMU_DRIVE_HOST_PREFIX);
eol = strchr(p, '\n'); eol = strchr(p, '\n');
if (!eol) if (!eol)
...@@ -839,7 +838,7 @@ qemuMonitorTextGetAllBlockStatsInfo(qemuMonitorPtr mon, ...@@ -839,7 +838,7 @@ qemuMonitorTextGetAllBlockStatsInfo(qemuMonitorPtr mon,
{ {
qemuBlockStatsPtr stats = NULL; qemuBlockStatsPtr stats = NULL;
char *info = NULL; char *info = NULL;
char *dev_name; const char *dev_name;
char **lines = NULL; char **lines = NULL;
char **values = NULL; char **values = NULL;
char *line; char *line;
...@@ -901,8 +900,7 @@ qemuMonitorTextGetAllBlockStatsInfo(qemuMonitorPtr mon, ...@@ -901,8 +900,7 @@ qemuMonitorTextGetAllBlockStatsInfo(qemuMonitorPtr mon,
*line = '\0'; *line = '\0';
line += 2; line += 2;
if (STRPREFIX(dev_name, QEMU_DRIVE_HOST_PREFIX)) dev_name = qemuAliasDiskDriveSkipPrefix(dev_name);
dev_name += strlen(QEMU_DRIVE_HOST_PREFIX);
if (!(values = virStringSplit(line, " ", 0))) if (!(values = virStringSplit(line, " ", 0)))
goto cleanup; goto cleanup;
......
...@@ -355,8 +355,7 @@ qemuProcessFindDomainDiskByAlias(virDomainObjPtr vm, ...@@ -355,8 +355,7 @@ qemuProcessFindDomainDiskByAlias(virDomainObjPtr vm,
{ {
size_t i; size_t i;
if (STRPREFIX(alias, QEMU_DRIVE_HOST_PREFIX)) alias = qemuAliasDiskDriveSkipPrefix(alias);
alias += strlen(QEMU_DRIVE_HOST_PREFIX);
for (i = 0; i < vm->def->ndisks; i++) { for (i = 0; i < vm->def->ndisks; i++) {
virDomainDiskDefPtr disk; virDomainDiskDefPtr disk;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册