On Sat, Feb 23, 2013 at 09:05:37AM +0000, Dietmar Maurer wrote: > > > Sure. nbd+unix:///exportname?socket=path is the new URI syntax, I > > > honestly forgot the old one. SCM_CREDENTIALS checks (qemu-nbd --pid > > > or something like that) is not supported, but patches would be very > > > welcome. > > > > Yes, this is better than my tcp suggestion. > > So if I want to use the code from nbd.c, I need to write a specialized > BlockDriver > for the vma format (to pass that to nbd_export_new())?
I think this question is about how to write the VMA writer program. In order to reuse QEMU code you'd have to write an incomplete BlockDriver that only cares about write and maybe discard (all the other operations would be stubbed out). Remember the VMA writer can have several of these BlockDriver instances but it writes out a single VMA file sequentially. So you'd have to attach the BlockDriver instances to a VMAWriter object which keeps track of VMA file output. In order to avoid bitrot the code would have to be merged and maintained in qemu.git. IMO code reuse isn't worthwhile here. Implement the VMA writer efficiently in a higher level language outside qemu.git, that will be more productive than reusing nbd.c. Stefan