]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemuProcessStartWithMemoryState: allow setting reason for audit log
authorPavel Hrdina <phrdina@redhat.com>
Mon, 18 Sep 2023 12:26:41 +0000 (14:26 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Mon, 9 Oct 2023 11:56:49 +0000 (13:56 +0200)
When called by snapshot code we will need to use different reason.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/qemu/qemu_process.c
src/qemu/qemu_process.h
src/qemu/qemu_saveimage.c

index 41d47f51b002ab89e9688340032f8f375ee10daf..2689cc73f64259df5d415969afbba74b3c803e53 100644 (file)
@@ -8102,11 +8102,14 @@ qemuProcessStart(virConnectPtr conn,
  * @data: data from memory state file
  * @asyncJob: type of asynchronous job
  * @start_flags: flags to start QEMU process with
+ * @reason: audit log reason
  * @started: boolean to store if QEMU process was started
  *
  * Start VM with existing memory state. Make sure that the stored memory state
  * is correctly decompressed so it can be loaded by QEMU process.
  *
+ * For audit purposes the expected @reason is one of `restored` or `from-snapshot`.
+ *
  * Returns 0 on success, -1 on error.
  */
 int
@@ -8118,6 +8121,7 @@ qemuProcessStartWithMemoryState(virConnectPtr conn,
                                 virQEMUSaveData *data,
                                 virDomainAsyncJob asyncJob,
                                 unsigned int start_flags,
+                                const char *reason,
                                 bool *started)
 {
     qemuDomainObjPrivate *priv = vm->privateData;
@@ -8152,7 +8156,7 @@ qemuProcessStartWithMemoryState(virConnectPtr conn,
 
     rc = qemuSaveImageDecompressionStop(cmd, fd, &intermediatefd, errbuf, *started, path);
 
-    virDomainAuditStart(vm, "restored", *started);
+    virDomainAuditStart(vm, reason, *started);
     if (!*started || rc < 0)
         return -1;
 
index a4454f84c406c821355159d8fe9731a0015fca24..c965eba3a6adfd24aefd040147519062df104a06 100644 (file)
@@ -99,6 +99,7 @@ int qemuProcessStartWithMemoryState(virConnectPtr conn,
                                     virQEMUSaveData *data,
                                     virDomainAsyncJob asyncJob,
                                     unsigned int start_flags,
+                                    const char *reason,
                                     bool *started);
 
 int qemuProcessCreatePretendCmdPrepare(virQEMUDriver *driver,
index 1fbc7891b1b1a051578ca9930f3eae2e5dac8565..92dcf4b616e4021af030a82e6e7ac87e1c1864e9 100644 (file)
@@ -699,7 +699,8 @@ qemuSaveImageStartVM(virConnectPtr conn,
         start_flags |= VIR_QEMU_PROCESS_START_RESET_NVRAM;
 
     if (qemuProcessStartWithMemoryState(conn, driver, vm, fd, path, data,
-                                        asyncJob, start_flags, &started) < 0) {
+                                        asyncJob, start_flags, "restored",
+                                        &started) < 0) {
         goto cleanup;
     }