qemu: Introduce pr_helper to qemu.conf

Just like we allow users overriding path to bridge-helper
detected at compile time we can allow them to override path to
qemu-pr-helper.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
Michal Privoznik 2017-12-15 10:42:40 +01:00
parent d13179fe8d
commit 8be74af168
6 changed files with 18 additions and 1 deletions

View File

@ -57,6 +57,11 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_QEMU], [
[/usr/libexec:/usr/lib/qemu:/usr/lib])
AC_DEFINE_UNQUOTED([QEMU_BRIDGE_HELPER], ["$QEMU_BRIDGE_HELPER"],
[QEMU bridge helper])
AC_PATH_PROG([QEMU_PR_HELPER], [qemu-pr-helper],
[/usr/bin/qemu-pr-helper],
[/usr/bin:/usr/libexec])
AC_DEFINE_UNQUOTED([QEMU_PR_HELPER], ["$QEMU_PR_HELPER"],
[QEMU PR helper])
])
AC_DEFUN([LIBVIRT_DRIVER_RESULT_QEMU], [

View File

@ -86,6 +86,7 @@ module Libvirtd_qemu =
let process_entry = str_entry "hugetlbfs_mount"
| bool_entry "clear_emulator_capabilities"
| str_entry "bridge_helper"
| str_entry "pr_helper"
| bool_entry "set_process_name"
| int_entry "max_processes"
| int_entry "max_files"

View File

@ -779,3 +779,7 @@
# This directory is used for memoryBacking source if configured as file.
# NOTE: big files will be stored here
#memory_backing_dir = "/var/lib/libvirt/qemu/ram"
# Path to the SCSI persistent reservations helper. This helper is
# used whenever <reservations/> are enabled for SCSI LUN devices.
#pr_helper = "/usr/bin/qemu-pr-helper"

View File

@ -302,7 +302,8 @@ virQEMUDriverConfigPtr virQEMUDriverConfigNew(bool privileged)
goto error;
}
if (VIR_STRDUP(cfg->bridgeHelperName, QEMU_BRIDGE_HELPER) < 0)
if (VIR_STRDUP(cfg->bridgeHelperName, QEMU_BRIDGE_HELPER) < 0 ||
VIR_STRDUP(cfg->prHelperName, QEMU_PR_HELPER) < 0)
goto error;
cfg->clearEmulatorCapabilities = true;
@ -387,6 +388,7 @@ static void virQEMUDriverConfigDispose(void *obj)
}
VIR_FREE(cfg->hugetlbfs);
VIR_FREE(cfg->bridgeHelperName);
VIR_FREE(cfg->prHelperName);
VIR_FREE(cfg->saveImageFormat);
VIR_FREE(cfg->dumpImageFormat);
@ -754,6 +756,9 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg,
if (virConfGetValueString(conf, "bridge_helper", &cfg->bridgeHelperName) < 0)
goto cleanup;
if (virConfGetValueString(conf, "pr_helper", &cfg->prHelperName) < 0)
goto cleanup;
if (virConfGetValueBool(conf, "mac_filter", &cfg->macFilter) < 0)
goto cleanup;

View File

@ -153,6 +153,7 @@ struct _virQEMUDriverConfig {
size_t nhugetlbfs;
char *bridgeHelperName;
char *prHelperName;
bool macFilter;

View File

@ -100,3 +100,4 @@ module Test_libvirtd_qemu =
{ "1" = "mount" }
}
{ "memory_backing_dir" = "/var/lib/libvirt/qemu/ram" }
{ "pr_helper" = "/usr/bin/qemu-pr-helper" }