A deeper problem I think is that it's ill-specified what is supposed to happen when nbdkit receives a termination signal. We don't specify (for example) that plugin callbacks could or could not be killed in the middle. Killing them in the middle of a callback could be bad for some plugins.
Going back to the original problem, perhaps we could have fixed it instead by acquiring a lock around all plugin callbacks, and ensuring that plugin_cleanup also acquires the same lock. The lock would normally be uncontended so it shouldn't cause any performance issues. That would be a fairly simple revert of 63f0eb088 + alternate fix. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
