On Wed, Nov 21, 2018 at 09:25:05AM +0000, Richard W.M. Jones wrote: > nbdkit: file.2: error: invalid request: offset and count are out of range: > offset=196608 count=512
Actually what happens even more precisely is that the underlying file is not a multiple of 512 bytes (196624 ≡ 16 mod 512). qemu-img (the client) issues a request for the final "sector" of the file which goes beyond the end of the file. You can "fix" this by using the truncate filter (https://github.com/libguestfs/nbdkit/blob/master/filters/truncate/nbdkit-truncate-filter.pod) telling it to round up the size to the next multiple of 512 bytes: $ nbdkit --filter=truncate file file=disk -f -v round-up=512 and this allows qemu-img to work: $ qemu-img info nbd://localhost image: nbd://localhost:10809 file format: qcow2 virtual size: 1.0G (1073741824 bytes) disk size: unavailable cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false refcount bits: 16 corrupt: false However the fundamental problem remains that you're exporting qcow2 bytes over the NBD connection which is not really what you wanted to do. You should use qemu-nbd instead since it understands qcow2 natively, or use raw format disks if you want to use nbdkit for its other features. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
