Update the plugin to API_VERSION 2, and enable parallel threading model. With unordered writes in qemu-img, and 8 threads in nbdkit, matching number of parallel coroutines in qemu-img, I see about 50% speedup compared with current master. I tested this on a vm, using NFS storage provided by another vm, and accessing ovirt-engine on a third vm. Results are not stable, and can vary by 100% between runs. I'm comparing the best result from 3-5 runs. We need to test these changes with real images, real servers, and real storage to get more reliable results, but I think we see a clear trend. I will try to test this RHV scale lab next week. Changes since v1: - Add FUA support using imageio flush flag. - Make nbdkit threads count configurable and change it only for rhv output instead of globally. - Improve http pool logging. - Add missing space in imageio features log. - Fix typo in comment. v1 was here: https://www.redhat.com/archives/libguestfs/2021-January/msg00045.html Nir Soffer (7): v2v: output_rhv_upload: Require nbdkit >= 1.22 v2v: rhv-upload-plugin: Use API_VERSION 2 v2v: rhv-upload-plugin: Support FUA v2v: rhv-upload-plugin: Get imageio connections limits v2v: rhv-upload-plugin: Support multiple connections v2v: Use unordered writes in qemu-img convert v2v: rvh-upload: Match nbdkit threads to qemu-img coroutines v2v/nbdkit.ml | 4 + v2v/nbdkit.mli | 1 + v2v/output_rhv_upload.ml | 11 +- v2v/rhv-upload-plugin.py | 318 +++++++++++++++++++++++++++------------ v2v/v2v.ml | 1 + 5 files changed, 233 insertions(+), 102 deletions(-) -- 2.26.2