[Libguestfs] nbdcpy: from scratch nbdcopy using io_uring
Richard W.M. Jones
rjones at redhat.com
Sat Jul 31 18:39:00 UTC 2021
On Sat, Jul 31, 2021 at 06:12:16PM +0530, Abhay Raj Singh wrote:
> I was able to resolve the issue caused by multiplexing where
> HEADER1+DATA1...
> was read as
> HEADER1+HEADER2+HEADER3...
>
> So nbdcpy is functional! and copies completely.
>
> Though I have been trying to resolve another issue
>
> The command below works fine (16MB)
> nbdkit -v -o data ' ( 0x41 0x42 )*16777216 ' --run 'bin/nbdcpy $port $port'
>
> But when I use random
> `nbdkit -v -o random size=16M --run 'bin/nbdcpy $port $port'`
>
> I get
> error: data written does not match expected
This is a problem :-(
It comes from here and indicates that the data you're writing doesn't
exactly match what was originally read:
https://gitlab.com/nbdkit/nbdkit/-/blob/de8dcd3a34a38b088a0f9a6f8ca754702ad1f598/plugins/random/random.c#L180
I would suggest starting with a very small disk and printing out
everything that you read and write. Should help to track down the
problem.
> So, I assume my code is affected by data somehow which I am not able to find.
>
> As it's functional now I will update the documentation to make it more
> understandable and true to code and then ask for reviews from io_uring
> people. I will also resume work on documenting how libnbd works and on
> how to integrate io_uring with libnbd or nbdcopy.
Thanks,
Rich.
--
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
More information about the Libguestfs
mailing list