Draft: Integration with libblkio
libblkio is a high performance and easy to use libary, providing unified interface for many drivers. The interesting drivers for blkhash are:
- io_uring: for reading raw image on a block device
- virtio-blk-vhost-user: for reading qcow2 images on block device or file via qemu-storage-daemon
Using virtio-blk-vhost-user driver we can do zero copy via shared memory between blkhash and qemu-storage-daemon.
liblkio does not support getting block status since block devices do not support this feature, so reading from sparse file is typically faster using NBD, but since liblkio is much faster reading data, it depends on how sparse is the image.
This change adds a blkiosum test command integrating with liblkio. This can be used for performance testing before we integrate libblkio with blksum.
Based on !118 (merged) for now.
Edited by Nir Soffer