WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel]xl create PV guest with qcow/qcow2 disk images fail

On Wed, 9 Nov 2011, Chunyan Liu wrote:
> In a following email you wrote that without the sleep the device is
> "not prepared yet".
> What do you mean by that?
> The device is present but reading/writing to it returns an error?
> 
>       If so, rather than a sleep we need an explicit wait for the device
>       to be ready. Even trying to read from the device in a loop until it
>       succeeds would be better than a sleep. At least we would know exactly
>       what we are doing and why we are doing it.
> 
> 
> OK, after checking qemu-nbd source code, I think I know where the problem is. 
> I tried to fork_exec "qemu-nbd -c /dev/nbd0
> disk.img", with this command option, qemu-nbd will call daemon(3) to run in 
> background and itself should exit immediately,
> that's why waitpid can successfully wait the exit of qemu-nbd pid and 
> fork_exec will return 0. The problem is that I
> should not use fork_exec return value to decide if the disk.img is already 
> connected to nbd device. That's not correct.

Good.


> This is not great. I would read /proc/partitions instead.
> 
> Thanks, that's a better way to find if a nbd device is free. The whole thing 
> (find a free nbd device and connect disk.img
> to that nbd device) seems better to write a script to do that and in libxl 
> call that script.

Maybe, but I think it makes sense for it to be in libxl and after all
reading/writing a file can be done quite well in a library too.

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