[Sheepdog] VDI locking, migration and qemu

Chris Webb chris at arachsys.com
Thu Nov 26 18:48:49 CET 2009

MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp> writes:

> However, bdrv_release doesn't called when we stop a VM using shutdown command or
> a signal. I think bdrv_release_all should be called in the exit routine
> (e.g. at the end of main()).

Hi. You're quite right. There's a bdrv_close_all() in kvm_main_loop that
needs a bdrv_release_all before it. I note that the non-kvm main loop
doesn't have a bdrv_close_all() either, just exiting without closing the
block devices. I've added both a bdrv_release_all and a bdrv_close_all() for
this case. (This presumably means that sheepdog used to leak locks following
a shutdown if -no-kvm was given on the command line?)

I also forget to correctly wrap qemu-nbd with claim and release calls, so
I've done this in the next version of the patch too.



More information about the sheepdog mailing list