[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] ioemu: Re-enable guest boot with blktap devices ([Xen-devel] Weekly VMX status report. Xen: #18577 & Xen0: #696)
Li, Haicheng wrote: Our testing was blocke by bug #1367; and totally 2 new issues were found this week, New Bugs: ===================================================================== 1. [Qcow]Guest cannot boot up with Qcow image http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1367 Bug #1367 looks caused by the xenstore path checking code recently added to ioemu-remote. I saw the same problem and found that the code didn't consider the case blktap devices were attached to the guest. The patch below should avoid the problem. Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@xxxxxxxxxxxxx> diff --git a/xenstore.c b/xenstore.c index f5aa8a7..39ff8a6 100644 --- a/xenstore.c +++ b/xenstore.c@@ -158,6 +158,7 @@ static void xenstore_get_backend_path(char **backend, const char *devtype, char *frontend_path=0; char *backend_dompath=0; char *expected_backend=0; + char *expected_devtype=0; char *frontend_backend_path=0; char *backend_frontend_path=0; char *frontend_doublecheck=0;@@ -191,11 +192,18 @@ static void xenstore_get_backend_path(char **backend, const char *devtype, backend_dompath = xs_get_domain_path(xsh, domid_backend); if (!backend_dompath) goto out; + if (pasprintf(&expected_devtype, "%s", devtype) == -1) goto out; + + again: if (pasprintf(&expected_backend, "%s/backend/%s/%lu/%s", - backend_dompath, devtype, frontend_domid, inst_danger)+ backend_dompath, expected_devtype, frontend_domid, inst_danger) == -1) goto out; if (strcmp(bpath, expected_backend)) { + if (!strcmp(expected_devtype, "vbd")) { + pasprintf(&expected_devtype, "tap"); + goto again; + } fprintf(stderr, "frontend `%s' expected backend `%s' got `%s'," " ignoring\n", frontend_path, expected_backend, bpath); errno = EINVAL;@@ -223,6 +231,7 @@ static void xenstore_get_backend_path(char **backend, const char *devtype, free(frontend_path); free(backend_dompath); free(expected_backend); + free(expected_devtype); free(frontend_backend_path); free(backend_frontend_path); free(frontend_doublecheck); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |