[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