xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/2] libxl: fix usage of backend parameter and run_hotplug_scripts
@ 2012-09-04 15:16 Roger Pau Monne
  2012-09-04 15:16 ` [PATCH v2 2/2] xl: error if vif backend!=0 is used with run_hotplug_scripts Roger Pau Monne
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Roger Pau Monne @ 2012-09-04 15:16 UTC (permalink / raw)
  To: xen-devel; +Cc: Roger Pau Monne

vif interfaces allows the user to specify the domain that should run
the backend (also known as driver domain) using the 'backend'
parameter. This is not compatible with run_hotplug_scripts=1, since
libxl can only run the hotplug scripts from the Domain 0.

Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
---
Changes since v1:

 * Remove references to xl.conf, since it's a layering violation.

 * Move the docs update to next patch (that includes xl changes).
---
 tools/libxl/libxl.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 8ea3478..47b1fb9 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2474,6 +2474,8 @@ out:
 int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic,
                                  uint32_t domid)
 {
+    int run_hotplug_scripts;
+
     if (!nic->mtu)
         nic->mtu = 1492;
     if (!nic->model) {
@@ -2503,6 +2505,18 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic,
                                   libxl__xen_script_dir_path()) < 0 )
         return ERROR_FAIL;
 
+    run_hotplug_scripts = libxl__hotplug_settings(gc, XBT_NULL);
+    if (run_hotplug_scripts < 0) {
+        LOG(ERROR, "unable to get current hotplug scripts execution setting");
+        return run_hotplug_scripts;
+    }
+    if (nic->backend_domid != LIBXL_TOOLSTACK_DOMID && run_hotplug_scripts) {
+        LOG(ERROR, "cannot use a backend domain different than %d if"
+                   "hotplug scripts are executed from libxl",
+                   LIBXL_TOOLSTACK_DOMID);
+        return ERROR_FAIL;
+    }
+
     switch (libxl__domain_type(gc, domid)) {
     case LIBXL_DOMAIN_TYPE_HVM:
         if (!nic->nictype)
-- 
1.7.7.5 (Apple Git-26)

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-09-14  9:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-04 15:16 [PATCH v2 1/2] libxl: fix usage of backend parameter and run_hotplug_scripts Roger Pau Monne
2012-09-04 15:16 ` [PATCH v2 2/2] xl: error if vif backend!=0 is used with run_hotplug_scripts Roger Pau Monne
2012-09-14  9:06   ` Ian Campbell
2012-09-06  7:29 ` [PATCH v2 1/2] libxl: fix usage of backend parameter and run_hotplug_scripts Ian Campbell
2012-09-06  8:30   ` Roger Pau Monne
2012-09-06  8:48     ` Ian Campbell
2012-09-14  9:06 ` Ian Campbell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).