xen/blktap.patch

56 lines
1.9 KiB
Diff
Raw Normal View History

bug #239173
bug #242953
Index: xen-3.4.1-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
--- xen-3.4.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-3.4.1-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -2940,7 +2940,7 @@ class XendDomainInfo:
(fn, BOOTLOADER_LOOPBACK_DEVICE))
vbd = {
- 'mode': 'RO',
+ 'mode': 'RW',
'device': BOOTLOADER_LOOPBACK_DEVICE,
}
Index: xen-3.4.1-testing/tools/ioemu-remote/xenstore.c
===================================================================
--- xen-3.4.1-testing.orig/tools/ioemu-remote/xenstore.c
+++ xen-3.4.1-testing/tools/ioemu-remote/xenstore.c
@@ -311,9 +311,9 @@ void xenstore_parse_domain_config(int hv
{
char **e_danger = NULL;
char *buf = NULL;
- char *fpath = NULL, *bpath = NULL,
+ char *fpath = NULL, *bpath = NULL, *btype = NULL,
*dev = NULL, *params = NULL, *drv = NULL;
- int i, any_hdN = 0, ret;
+ int i, any_hdN = 0, ret, is_tap;
unsigned int len, num, hd_index, pci_devid = 0;
BlockDriverState *bs;
BlockDriver *format;
@@ -353,6 +353,14 @@ void xenstore_parse_domain_config(int hv
e_danger[i]);
if (bpath == NULL)
continue;
+ /* check to see if type is tap or not */
+ if (pasprintf(&buf, "%s/type", bpath) == -1)
+ continue;
+ free(btype);
+ btype = xs_read(xsh, XBT_NULL, buf, &len);
+ if (btype == NULL)
+ continue;
+ is_tap = !strncmp(btype, "tap", 3);
/* read the name of the device */
if (pasprintf(&buf, "%s/dev", bpath) == -1)
continue;
@@ -662,6 +670,7 @@ void xenstore_parse_domain_config(int hv
free(danger_type);
free(params);
free(dev);
+ free(btype);
free(bpath);
free(buf);
free(danger_buf);