mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-02 04:15:46 +00:00
qemuProcessStartWithMemoryState: allow setting reason for audit log
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>
This commit is contained in:
parent
6c0f30b37e
commit
6a88060d32
@ -8102,11 +8102,14 @@ qemuProcessStart(virConnectPtr conn,
|
|||||||
* @data: data from memory state file
|
* @data: data from memory state file
|
||||||
* @asyncJob: type of asynchronous job
|
* @asyncJob: type of asynchronous job
|
||||||
* @start_flags: flags to start QEMU process with
|
* @start_flags: flags to start QEMU process with
|
||||||
|
* @reason: audit log reason
|
||||||
* @started: boolean to store if QEMU process was started
|
* @started: boolean to store if QEMU process was started
|
||||||
*
|
*
|
||||||
* Start VM with existing memory state. Make sure that the stored memory state
|
* Start VM with existing memory state. Make sure that the stored memory state
|
||||||
* is correctly decompressed so it can be loaded by QEMU process.
|
* 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.
|
* Returns 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
@ -8118,6 +8121,7 @@ qemuProcessStartWithMemoryState(virConnectPtr conn,
|
|||||||
virQEMUSaveData *data,
|
virQEMUSaveData *data,
|
||||||
virDomainAsyncJob asyncJob,
|
virDomainAsyncJob asyncJob,
|
||||||
unsigned int start_flags,
|
unsigned int start_flags,
|
||||||
|
const char *reason,
|
||||||
bool *started)
|
bool *started)
|
||||||
{
|
{
|
||||||
qemuDomainObjPrivate *priv = vm->privateData;
|
qemuDomainObjPrivate *priv = vm->privateData;
|
||||||
@ -8152,7 +8156,7 @@ qemuProcessStartWithMemoryState(virConnectPtr conn,
|
|||||||
|
|
||||||
rc = qemuSaveImageDecompressionStop(cmd, fd, &intermediatefd, errbuf, *started, path);
|
rc = qemuSaveImageDecompressionStop(cmd, fd, &intermediatefd, errbuf, *started, path);
|
||||||
|
|
||||||
virDomainAuditStart(vm, "restored", *started);
|
virDomainAuditStart(vm, reason, *started);
|
||||||
if (!*started || rc < 0)
|
if (!*started || rc < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
@ -99,6 +99,7 @@ int qemuProcessStartWithMemoryState(virConnectPtr conn,
|
|||||||
virQEMUSaveData *data,
|
virQEMUSaveData *data,
|
||||||
virDomainAsyncJob asyncJob,
|
virDomainAsyncJob asyncJob,
|
||||||
unsigned int start_flags,
|
unsigned int start_flags,
|
||||||
|
const char *reason,
|
||||||
bool *started);
|
bool *started);
|
||||||
|
|
||||||
int qemuProcessCreatePretendCmdPrepare(virQEMUDriver *driver,
|
int qemuProcessCreatePretendCmdPrepare(virQEMUDriver *driver,
|
||||||
|
@ -699,7 +699,8 @@ qemuSaveImageStartVM(virConnectPtr conn,
|
|||||||
start_flags |= VIR_QEMU_PROCESS_START_RESET_NVRAM;
|
start_flags |= VIR_QEMU_PROCESS_START_RESET_NVRAM;
|
||||||
|
|
||||||
if (qemuProcessStartWithMemoryState(conn, driver, vm, fd, path, data,
|
if (qemuProcessStartWithMemoryState(conn, driver, vm, fd, path, data,
|
||||||
asyncJob, start_flags, &started) < 0) {
|
asyncJob, start_flags, "restored",
|
||||||
|
&started) < 0) {
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user