[libvirt] [PATCH v2 10/14] qemu_hotplug: new function qemuDomainRemoveAuditDevice()
Ján Tomko
jtomko at redhat.com
Tue Mar 26 16:58:24 UTC 2019
On Mon, Mar 25, 2019 at 01:24:32PM -0400, Laine Stump wrote:
>This function can be called with a virDomainDevicePtr and whether or
>not the removal was successful, and it will call the appropriate
>virDomainAudit*() function with the appropriate args for whatever type
>of device it's given (or do nothing, if that's appropriate). This
>permits generalizing some code that currently has a separate copy for
>each type of device.
>
>NB: Although the function initially will be called only with
>success=false, that has been made an argument so that in the future
>(when the qemuDomainRemove*Device() functions have had their common
>functionality consolidated into qemuDomainRemoveDevice()), this new
>common code can call qemuDomainRemoveAuditDevice() for all types.
>
>Signed-off-by: Laine Stump <laine at laine.org>
>---
>
>change from V1:
>
>* only audit device types that were previously audited on *failure* to
> remove (this preserves previous behavior). Auditing of other device
> types is now added in new patch 11/14.
>
>* use ATTRIBUTE_UNUSED instead of "inline" to prevent compile error
> due to the new function not yet being used.
>
> src/qemu/qemu_hotplug.c | 55 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 55 insertions(+)
>
>diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
>index de30b08dd1..92d4e7d0f9 100644
>--- a/src/qemu/qemu_hotplug.c
>+++ b/src/qemu/qemu_hotplug.c
>@@ -5208,6 +5208,61 @@ qemuDomainRemoveRedirdevDevice(virQEMUDriverPtr driver,
> }
>
>
>+static void ATTRIBUTE_UNUSED
>+qemuDomainRemoveAuditDevice(virDomainObjPtr vm,
>+ virDomainDeviceDefPtr detach,
>+ bool success)
>+{
>+ switch ((virDomainDeviceType)detach->type) {
>+ case VIR_DOMAIN_DEVICE_DISK:
>+ virDomainAuditDisk(vm, detach->data.disk->src, NULL, "detach", success);
>+ break;
>+ case VIR_DOMAIN_DEVICE_NET:
>+ virDomainAuditNet(vm, detach->data.net, NULL, "detach", success);
>+ break;
>+ case VIR_DOMAIN_DEVICE_HOSTDEV:
>+ virDomainAuditHostdev(vm, detach->data.hostdev, "detach", success);
>+ break;
>+
>+ case VIR_DOMAIN_DEVICE_INPUT:
>+ case VIR_DOMAIN_DEVICE_CHR:
>+ case VIR_DOMAIN_DEVICE_RNG:
>+ case VIR_DOMAIN_DEVICE_MEMORY:
>+ case VIR_DOMAIN_DEVICE_SHMEM:
>+ case VIR_DOMAIN_DEVICE_REDIRDEV:
>+ /*
>+ * These devices are supposed to be audited, but current code
>+ * doesn't audit on failure to remove the device.
>+ */
>+ break;
Indentation is off here.
Jano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20190326/a44de531/attachment-0001.sig>
More information about the libvir-list
mailing list