The presence of this filelock does not allow building several VMs at the same
time. This filelock was added to prevent other xl instances from using memory
freeed for the currently building VM in autoballoon mode.

Signed-off-by: Dmitry Isaykin <isaikin-dmi...@yandex.ru>
---
 tools/xl/xl_vmcontrol.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/tools/xl/xl_vmcontrol.c b/tools/xl/xl_vmcontrol.c
index a1d633795c..2b42bb487d 100644
--- a/tools/xl/xl_vmcontrol.c
+++ b/tools/xl/xl_vmcontrol.c
@@ -873,9 +873,11 @@ int create_domain(struct domain_create *dom_info)
 start:
     assert(domid == INVALID_DOMID);
 
-    rc = acquire_lock();
-    if (rc < 0)
-        goto error_out;
+    if (autoballoon) {
+        rc = acquire_lock();
+        if (rc < 0)
+            goto error_out;
+    }
 
     if (domid_soft_reset == INVALID_DOMID) {
         if (!freemem(domid, &d_config.b_info)) {
@@ -935,7 +937,8 @@ start:
     if ( ret )
         goto error_out;
 
-    release_lock();
+    if (autoballoon)
+        release_lock();
 
     if (restore_fd_to_close >= 0) {
         if (close(restore_fd_to_close))
@@ -1109,7 +1112,8 @@ start:
     }
 
 error_out:
-    release_lock();
+    if (autoballoon)
+        release_lock();
     if (libxl_domid_valid_guest(domid)) {
         libxl_domain_destroy(ctx, domid, 0);
         domid = INVALID_DOMID;
-- 
2.17.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to