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, 2011-11-09 at 09:27 +0000, Stefano Stabellini wrote:
> 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.

Really this is the sort of thing qemu-nbd should do for us (c.f.
"losetup -f"). I think it would be worth getting such a patch upstream
even if we can't yet make use of it.

Ian.

> 
> 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



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