I'm trying to use qemu-nbd with a FUSE filesystem and don't know if it
is even doable.
The FUSE presents an image in VDI format but when I try to start the
qemu-nbd server using that image - I get:
qemu-nbd: Failed to bdrv_open '<yada>': Operation not permitted
With FUSE out of the picture, qemu-nbd has no issues.
Is there some intrinsic problem with using a FUSE file system as a
network block device?
If not - how can I get more information for why it failed? Adding the
verbose flag gave me no more information.
Apparently the only way to get more info from qemu, is to build it from
source and debug it!
bdrv_open was failing for me because of a expected alignment on the
vdi header/block-map. The code I'm using didn't pad it out to 4096
boundary (I believe this code followed an older vdi format), and qemu
just kicked it out with the above non-descriptive error.
As for my FUSE/qemu generalized question - I'm closer to solving that
myself. I won't annoy this list with my results because I believe there
isn't much interest.
So I'll end this post with a final small observation - of the executables I
built with the qemu source (qemu-ga, qemu-img, qemu-io,qemu-nbd,
qemu-io and qemu-nbd report a version of '0.0.1' whereas the others
report version '1.4.50'. Which matches the "VERSION" file. (just a nit)