This commit is contained in:
committed by
Git OBS Bridge
parent
be29349429
commit
cf62e5ae4d
51
blktap.patch
51
blktap.patch
@@ -1,11 +1,11 @@
|
||||
bug #239173
|
||||
bug #242953
|
||||
|
||||
Index: xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||
Index: xen-3.2-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||
===================================================================
|
||||
--- xen-3.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py
|
||||
+++ xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||
@@ -1833,7 +1833,7 @@ class XendDomainInfo:
|
||||
--- xen-3.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
|
||||
+++ xen-3.2-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||
@@ -2060,7 +2060,7 @@ class XendDomainInfo:
|
||||
(fn, BOOTLOADER_LOOPBACK_DEVICE))
|
||||
|
||||
vbd = {
|
||||
@@ -14,19 +14,19 @@ Index: xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||
'device': BOOTLOADER_LOOPBACK_DEVICE,
|
||||
}
|
||||
|
||||
Index: xen-3.1-testing/tools/ioemu/xenstore.c
|
||||
Index: xen-3.2-testing/tools/ioemu/xenstore.c
|
||||
===================================================================
|
||||
--- xen-3.1-testing.orig/tools/ioemu/xenstore.c
|
||||
+++ xen-3.1-testing/tools/ioemu/xenstore.c
|
||||
--- xen-3.2-testing.orig/tools/ioemu/xenstore.c
|
||||
+++ xen-3.2-testing/tools/ioemu/xenstore.c
|
||||
@@ -81,9 +81,9 @@ void xenstore_parse_domain_config(int do
|
||||
{
|
||||
char **e = NULL;
|
||||
char *buf = NULL, *path;
|
||||
- char *fpath = NULL, *bpath = NULL,
|
||||
+ char *fpath = NULL, *bpath = NULL, *btype = NULL,
|
||||
*dev = NULL, *params = NULL, *type = NULL, *media_present = NULL;
|
||||
- int i, is_scsi;
|
||||
+ int i, is_scsi, is_tap;
|
||||
*dev = NULL, *params = NULL, *type = NULL, *drv = NULL;
|
||||
- int i, is_scsi, is_hdN = 0;
|
||||
+ int i, is_scsi, is_tap, is_hdN = 0;
|
||||
unsigned int len, num, hd_index;
|
||||
|
||||
for(i = 0; i < MAX_DISKS + MAX_SCSI_DISKS; i++)
|
||||
@@ -45,36 +45,7 @@ Index: xen-3.1-testing/tools/ioemu/xenstore.c
|
||||
/* read the name of the device */
|
||||
if (pasprintf(&buf, "%s/dev", bpath) == -1)
|
||||
continue;
|
||||
@@ -123,6 +131,13 @@ void xenstore_parse_domain_config(int do
|
||||
dev = xs_read(xsh, XBT_NULL, buf, &len);
|
||||
if (dev == NULL)
|
||||
continue;
|
||||
+ /* Force xvdN to look like hdN */
|
||||
+ if (is_tap && !strncmp(dev, "xvd", 3)) {
|
||||
+ memmove(dev, dev+1, strlen(dev));
|
||||
+ dev[0] = 'h';
|
||||
+ dev[1] = 'd';
|
||||
+ fprintf(stderr, "Got blktap '%s'\n", dev);
|
||||
+ }
|
||||
is_scsi = !strncmp(dev, "sd", 2);
|
||||
if ((strncmp(dev, "hd", 2) && !is_scsi) || strlen(dev) != 3 )
|
||||
continue;
|
||||
@@ -140,6 +155,14 @@ void xenstore_parse_domain_config(int do
|
||||
params = xs_read(xsh, XBT_NULL, buf, &len);
|
||||
if (params == NULL)
|
||||
continue;
|
||||
+ /* Strip off blktap sub-type prefix aio: etc */
|
||||
+ if (is_tap) {
|
||||
+ char *offset = strchr(params, ':');
|
||||
+ if (!offset)
|
||||
+ continue;
|
||||
+ memmove(params, offset+1, strlen(offset+1)+1);
|
||||
+ fprintf(stderr, "Got params '%s'\n", params);
|
||||
+ }
|
||||
/*
|
||||
* check if device has a phantom vbd; the phantom is hooked
|
||||
* to the frontend device (for ease of cleanup), so lookup
|
||||
@@ -196,6 +219,7 @@ void xenstore_parse_domain_config(int do
|
||||
@@ -243,6 +251,7 @@ void xenstore_parse_domain_config(int do
|
||||
free(type);
|
||||
free(params);
|
||||
free(dev);
|
||||
|
Reference in New Issue
Block a user