From: "Daniel P. Berrange" <berrange(a)redhat.com>
The current default QEMU lock manager is the 'nop' lock manager,
which obviously does not perform any locking. The new virtlockd
daemon is able to work out of the box with zero configuration
in single-host only mode. Enable this as the default lock manager
for all QEMU guests
* src/qemu/qemu.conf: Update docs for lock_driver parameter
* src/qemu/qemu_conf.c: Change default lock manager to 'lockd'
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
src/qemu/qemu.conf | 17 ++++++++++-------
src/qemu/qemu_conf.c | 2 +-
src/qemu/test_libvirtd_qemu.aug.in | 2 +-
3 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/src/qemu/qemu.conf b/src/qemu/qemu.conf
index ed4683c..b232762 100644
--- a/src/qemu/qemu.conf
+++ b/src/qemu/qemu.conf
@@ -318,14 +318,17 @@
#
#allow_disk_format_probing = 1
-
-# To enable 'Sanlock' project based locking of the file
-# content (to prevent two VMs writing to the same
-# disk), uncomment this
+# By default the QEMU driver talks to the 'virtlockd'
+# daemon to acquire exclusive locks for all guest disk
+# images associated with a running VM.
#
-#lock_manager = "sanlock"
-
-
+# To revert to behaviour of previous releases which did
+# not acquire any locks, set this to 'nop'.
+#
+# To enable use of the external 'sanlock' locking
+# daemon, change this to 'sanlock'.
+#
+#lock_manager = "lockd"
# Set limit of maximum APIs queued on one domain. All other APIs
# over this threshold will fail on acquiring job lock. Specially,
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index b7db277..753e87d 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -119,7 +119,7 @@ int qemudLoadDriverConfig(struct qemud_driver *driver,
#endif
if (!(driver->lockManager =
- virLockManagerPluginNew("nop", NULL, 0)))
+ virLockManagerPluginNew("lockd", NULL, 0)))
return -1;
driver->keepAliveInterval = 5;
diff --git a/src/qemu/test_libvirtd_qemu.aug.in b/src/qemu/test_libvirtd_qemu.aug.in
index 959f250..8be6d07 100644
--- a/src/qemu/test_libvirtd_qemu.aug.in
+++ b/src/qemu/test_libvirtd_qemu.aug.in
@@ -54,7 +54,7 @@ module Test_libvirtd_qemu =
{ "mac_filter" = "1" }
{ "relaxed_acs_check" = "1" }
{ "allow_disk_format_probing" = "1" }
-{ "lock_manager" = "sanlock" }
+{ "lock_manager" = "lockd" }
{ "max_queued" = "0" }
{ "keepalive_interval" = "5" }
{ "keepalive_count" = "5" }
--
1.7.11.2