[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] VMX status report. Xen: #17630 & Xen0: #540 -- blocked



I just tried your patch, and seems that it doesn't work.
Actually, find_protocol() could not find out the qcow protocol, and for qcow 
image, that function will always return NULL after C/S 17606. I think this is 
the root cause why qcow image could not be booted. 

-- Dongxiao

-----Original Message-----
From: Kevin Wolf [mailto:kwolf@xxxxxxx] 
Sent: 2008年5月15日 17:01
To: Xu, Dongxiao
Cc: Li, Haicheng; Ian Jackson; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] VMX status report. Xen: #17630 & Xen0: #540 -- blocked

Xu, Dongxiao schrieb:
> I just looked into this issue, and I was confused by the recursive function 
> call while opening a qcow file 
> (bdrv_open2->qcow_open->bdrv_file_open->bdrv_open2->...).
>     Remove the modification in block.c in C/S 17606 could work around this 
> issue, but it is not a good way.

I think the right solution is to remove bdrv_open altogether and force
the callers to provide the driver as parameter to bdrv_open2. For qcow
itself the following patch could be enough (compiles, but completely
untested).

But then, I don't even understand why find_protocol has been crippled -
isn't this one harmless and we should rather have removed the actual
guessing in find_image_format?

Kevin


diff -r 0beee5c839ea tools/ioemu/block.c
--- a/tools/ioemu/block.c       Tue May 13 12:17:08 2008
+++ b/tools/ioemu/block.c       Thu May 15 11:51:15 2008
@@ -329,7 +329,7 @@
     bs = bdrv_new("");
     if (!bs)
         return -ENOMEM;
-    ret = bdrv_open2(bs, filename, flags | BDRV_O_FILE, NULL);
+    ret = bdrv_open2(bs, filename, flags | BDRV_O_FILE, &bdrv_raw);
     if (ret < 0) {
         bdrv_delete(bs);
         return ret;

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.