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

Reply via email to