Am 21.03.2018 um 14:48 hat Pino Toscano geschrieben: > On Wednesday, 21 March 2018 14:45:38 CET Eric Blake wrote: > > [adding qemu lists] > > > > On 03/21/2018 07:51 AM, Richard W.M. Jones wrote: > > > On Wed, Mar 21, 2018 at 01:44:17PM +0100, Pino Toscano wrote: > > >> Newer versions of qemu use file locking for the images by default, and > > >> apparently that does not work with /dev/null. Since this test just > > >> calls qemu-img to get the format of an empty image, create a temporary > > >> one instead. > > > > > > ACK, but feels like this is a bug in qemu-img to me. > > > > 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: $ ./qemu-img --version qemu-img version 2.10.1 (v2.10.1-dirty) Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers $ ./qemu-img info /dev/null image: /dev/null file format: raw virtual size: 0 (0 bytes) disk size: 0 Also with strace: open("/dev/null", O_RDONLY|O_CLOEXEC) = 10 fcntl(10, F_OFD_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=100, l_len=1}) = 0 ... So my kernel (4.15.9-200.fc26.x86_64) seems to have no problems with locking /dev/null. Kevin
signature.asc
Description: PGP signature