On Wed, Mar 21, 2018 at 03:58:05PM -0500, Eric Blake wrote:
On 03/21/2018 03:44 PM, Kevin Wolf wrote:
>>>
>>>You're right that file locking on a character device like /dev/null is
>>>not going to work as expected, but is it a case where fcntl() actually
>>>fails, or is it worse where the fcntl() claiming the locks
"succeeds"
>>>but doesn't do what we want? That is, what were the actual error
>>>messages you ran into?
>>
>>$ qemu-img --version
>>qemu-img version 2.10.1(qemu-2.10.1-2.fc27)
>>Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
>>$ qemu-img info /dev/null
>>qemu-img: Could not open '/dev/null': Failed to get "consistent
read" lock
>>Is another process using the image?
>
>Not sure where the difference is, but I can't reproduce this on
>upstream, neither git master nor the v2.10.1 tag:
Is it a case where file locking actually works, and more than one
process is trying to lock /dev/null at once? (qemu-img info is
short-lived, but could there be another longer-lived process also
using /dev/null)?
Does using -r help (if the only reason you're telling qemu-img to
operate on /dev/null is to probe qemu-img features, can you probe
those same features without needing to write, which in turn requests
less locking)?
The original test (before Pino's patch) runs ‘qemu-img info /dev/null’
purely as a way to fork qemu-img. It's a regression test for some
problem we had with the code that confines qemu-img using resource
limits. So really nothing much to do with qemu-img at all. The fix
is to create a temporary file and run qemu-img against that.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top