Alright, so final version for now is here: https://gitlab.com/rwmjones/libnbd/-/tree/nbdublk/ublk
I resolved the data corruption problem once I realised that ->handle_event must only retire commands which are on the same queue (obvious in hindsight). I ran a parallel job overnight where I did various heavyweight operations repeatedly -- a bunch of git stuff, large copies, a big compile etc -- on an nbdublk filesystem. It handled everything perfectly. Before this can go upstream: - Does libubdsrv now have a stable API, or could it change? - We need to enable the device in the Fedora kernel. - We need libubdsrv + ublk tool in Fedora. - Possible we need to add tests into the libnbd tree. I couldn't think of a good way to test this that doesn't require root and potentially do some horrible stuff to the testing machine. 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 Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs