The patch I posted last week to disable mandatory locking for readonly
drives
(
https://www.redhat.com/archives/libguestfs/2017-September/msg00013.html)
was wrong in a couple of respects. Firstly it didn't work, which I
didn't detect because my tests were testing the wrong thing. Oops.
Secondly it used a simple version number check to detect qemu binaries
implementing mandatory locking.
This patch series addresses the second issue. It refactors the code
which tests qemu features to make it more manageable. Then it
implements QMP testing, and finally it adds a slightly braindead (but
working) test for whether the qemu binary implements mandatory locking
based on features of the binary and not version numbers.
I tested this against several qemu binaries with and without locking
and it worked for me in all cases.
Rich.