All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 02/14]: libxenlight, disk and nic destroy calls
@ 2009-11-30 19:10 Andres Lagar-Cavilla
  0 siblings, 0 replies; only message in thread
From: Andres Lagar-Cavilla @ 2009-11-30 19:10 UTC (permalink / raw)
  To: Stefano Stabellini, xen-devel

[-- Attachment #1: Type: text/plain, Size: 155 bytes --]

Expose disk and nic device destroy calls, to allow
hot unplugging of devices from domains.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.com>


[-- Attachment #2: 02_nic_disk_destroy.patch --]
[-- Type: text/x-patch, Size: 2696 bytes --]

# HG changeset patch
# User Andres Lagar-Cavilla <andres@lagarcavilla.com>
# Date 1259038343 18000
# Node ID 4c8563c26642159a6bd7bbb356826c0e7e96534f
# Parent  67d997a4d4c87d739b4d29b301a4ba727563ca9e
Expose disk and nic device destroy calls, to allow
hot unplugging of devices from domains. 

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.com>

diff -r 67d997a4d4c8 -r 4c8563c26642 libxl.c
--- a/libxl.c
+++ b/libxl.c
@@ -934,6 +934,23 @@ int libxl_device_disk_add(struct libxl_c
     return 0;
 }
 
+int libxl_device_disk_del(struct libxl_ctx *ctx, 
+                          libxl_device_disk *disk, int wait)
+{
+    libxl_device device;
+    int devid;
+
+    devid = device_disk_dev_number(disk->virtpath);
+    device.backend_domid    = disk->backend_domid;
+    device.backend_devid    = devid;
+    device.backend_kind     = 
+        (disk->phystype == PHYSTYPE_PHY) ? DEVICE_VBD : DEVICE_TAP;
+    device.domid            = disk->domid;
+    device.devid            = devid;
+    device.kind             = DEVICE_VBD;
+    return libxl_device_del(ctx, &device, wait);
+}
+
 int libxl_device_disk_clean_shutdown(struct libxl_ctx *ctx, uint32_t domid)
 {
     return ERROR_NI;
@@ -1007,6 +1024,21 @@ int libxl_device_nic_add(struct libxl_ct
     return 0;
 }
 
+int libxl_device_nic_del(struct libxl_ctx *ctx, 
+                         libxl_device_nic *nic, int wait)
+{
+    libxl_device device;
+
+    device.backend_devid    = nic->devid;
+    device.backend_domid    = nic->backend_domid;
+    device.backend_kind     = DEVICE_VIF;
+    device.devid            = nic->devid;
+    device.domid            = nic->domid;
+    device.kind             = DEVICE_VIF;
+
+    return libxl_device_del(ctx, &device, wait);
+}
+
 int libxl_device_nic_clean_shutdown(struct libxl_ctx *ctx, uint32_t domid)
 {
     return ERROR_NI;
diff -r 67d997a4d4c8 -r 4c8563c26642 libxl.h
--- a/libxl.h
+++ b/libxl.h
@@ -288,10 +288,12 @@ int libxl_detach_device_model(struct lib
   /* DM is detached even if error is returned */
 
 int libxl_device_disk_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk);
+int libxl_device_disk_del(struct libxl_ctx *ctx, libxl_device_disk *disk, int wait);
 int libxl_device_disk_clean_shutdown(struct libxl_ctx *ctx, uint32_t domid);
 int libxl_device_disk_hard_shutdown(struct libxl_ctx *ctx, uint32_t domid);
 
 int libxl_device_nic_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic);
+int libxl_device_nic_del(struct libxl_ctx *ctx, libxl_device_nic *nic, int wait);
 int libxl_device_nic_clean_shutdown(struct libxl_ctx *ctx, uint32_t domid);
 int libxl_device_nic_hard_shutdown(struct libxl_ctx *ctx, uint32_t domid);
 

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-11-30 19:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-30 19:10 [PATCH 02/14]: libxenlight, disk and nic destroy calls Andres Lagar-Cavilla

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.