On Wed, May 26, 2021 at 5:15 PM Richard W.M. Jones <rjones(a)redhat.com> wrote:
...
> > -W out of order writes, but the manual says "This
is only recommended
> > for preallocated devices like host devices or other raw block
> > devices" which is a very unclear recommendation to me.
> > What's special about host devices versus (eg) files or
> > qcow2 files which means -W wouldn't always be recommended?
>
> This is how RHV use qemu-img convert when copying to raw preallocated
> volumes. Using -W can be up to 6x times faster. We use the same for imageio
> for any type of disk. This is the reason I tested this way.
>
> -W is equivalent to the nbdocpy multithreaded copy using a single connection.
>
> qemu-img does N concurrent reads. If you don't specify -W, it writes
> the data in the right order (based on offset). If a read did not
> finish, the copy loops waits until the read complets before
> writing. This ensure exactly one concurrent write, and it is much
> slower.
Thanks - interesting. Still not sure why you wouldn't want to use
this flag all the time.
We started to use -W for this bug:
https://bugzilla.redhat.com/1511891#c57
The comment shows that this can be up to 6 times faster. When copying to NFS
the improvement was smaller so we felt it is safer to avoid this optimization.
But since then we use unordered writes in imageio and in virt-v2v rhv
upload (master)
so I think we can simplify and always use unordered writes.
...