提交 807a6dd3 编写于 作者: D Daniel Henrique Barboza 提交者: Pavel Hrdina

qemu_conf.c: introduce qemuAddRemoveSharedDeviceInternal

After the previous commits, qemuAddSharedDevice() and
qemuRemoveSharedDevice() are now the same code with a different
flag to call the internal functions.

This patch aggregates the common code into a new function called
qemuAddRemoveSharedDeviceInternal() to further reduce
code repetition. Both qemuAddSharedDevice() and
qemuRemoveSharedDevice() are kept since they are public
functions used elsewhere.

No functional change was made.
Signed-off-by: NDaniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: NPavel Hrdina <phrdina@redhat.com>
上级 b80bb2d3
......@@ -1802,6 +1802,26 @@ qemuAddRemoveSharedHostdevInternal(virQEMUDriverPtr driver,
}
static int
qemuAddRemoveSharedDeviceInternal(virQEMUDriverPtr driver,
virDomainDeviceDefPtr dev,
const char *name,
bool addDevice)
{
/* Currently the only conflicts we have to care about for
* the shared disk and shared host device is "sgio" setting,
* which is only valid for block disk and scsi host device.
*/
if (dev->type == VIR_DOMAIN_DEVICE_DISK)
return qemuAddRemoveSharedDiskInternal(driver, dev->data.disk,
name, addDevice);
else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV)
return qemuAddRemoveSharedHostdevInternal(driver, dev->data.hostdev,
name, addDevice);
else
return 0;
}
/* qemuAddSharedDevice:
* @driver: Pointer to qemu driver struct
......@@ -1817,18 +1837,7 @@ qemuAddSharedDevice(virQEMUDriverPtr driver,
virDomainDeviceDefPtr dev,
const char *name)
{
/* Currently the only conflicts we have to care about for
* the shared disk and shared host device is "sgio" setting,
* which is only valid for block disk and scsi host device.
*/
if (dev->type == VIR_DOMAIN_DEVICE_DISK)
return qemuAddRemoveSharedDiskInternal(driver, dev->data.disk,
name, true);
else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV)
return qemuAddRemoveSharedHostdevInternal(driver, dev->data.hostdev,
name, true);
else
return 0;
return qemuAddRemoveSharedDeviceInternal(driver, dev, name, true);
}
......@@ -1855,14 +1864,7 @@ qemuRemoveSharedDevice(virQEMUDriverPtr driver,
virDomainDeviceDefPtr dev,
const char *name)
{
if (dev->type == VIR_DOMAIN_DEVICE_DISK)
return qemuAddRemoveSharedDiskInternal(driver, dev->data.disk,
name, false);
else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV)
return qemuAddRemoveSharedHostdevInternal(driver, dev->data.hostdev,
name, false);
else
return 0;
return qemuAddRemoveSharedDeviceInternal(driver, dev, name, false);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册