I hacked nbdcopy to ignore block alignment (the error actually comes from libnbd refusing to send the unaligned request, not from qemu-nbd), and indeed qemu-nbd accepts the unaligned request without complaint.
Eric - maybe having some flag for nbdcopy to ignore unaligned requests when we know the server doesn't care (qemu-nbd) would work? Rich. --- a/copy/nbd-ops.c +++ b/copy/nbd-ops.c @@ -59,6 +59,10 @@ open_one_nbd_handle (struct rw_nbd *rwn) exit (EXIT_FAILURE); } + uint32_t sm = nbd_get_strict_mode (nbd); + sm &= ~LIBNBD_STRICT_ALIGN; + nbd_set_strict_mode (nbd, sm); + nbd_set_debug (nbd, verbose); if (extents && rwn->d == READING && -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW