[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Strange problems with lseek in qemu-img map
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] Strange problems with lseek in qemu-img map |
Date: |
Wed, 3 Jun 2015 15:06:07 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Tue, Jun 02, 2015 at 02:54:17PM +0200, David Weber wrote:
> Testcase:
> # qemu-img create test 500G
> # time qemu-img map test
>
> Systems:
> O3-3: Kubuntu 15.04 Workstation with stock-kernel 3.19.0-18-generic and stock
> qemu 2.2.0
> Dinah: Ubuntu Server 15.04 with stock-kernel 3.19.0-18-generic and stock qemu
> 2.2.0
These systems have the same kernel but for some reason O3-3 completes
quickly while Dinah takes a long time in lseek(fd, offset, SEEK_DATA).
It looks like the file is empty (the syscall keeps returning ENXIO
because there are no allocated blocks in the file where qemu-img
probes).
> Result on O3-3:
> address@hidden:~# qemu-img create test 500G
> Formatting 'test', fmt=raw size=536870912000
> address@hidden:~# time qemu-img map test
> Offset Length Mapped to File
>
> real 0m0.049s
> user 0m0.048s
> sys 0m0.000s
>
> Result on dinah:
> address@hidden:~# qemu-img create test 500G
> Formatting 'test', fmt=raw size=536870912000
> address@hidden:~# time qemu-img map test
> Offset Length Mapped to File
> ^C
>
> real 0m41.862s
> user 0m0.004s
> sys 0m0.068s
> (Stopped with ^C)
>
> Strace on O3-3:
> https://gist.github.com/anonymous/f221035e9176f7c71c74
>
> Strace on dinah:
> https://gist.github.com/anonymous/40b42888a65478c90b32
>
> A git bisect between 1.7 and master revealed
> 7c15903789953ead14a417882657d52dc0c19a24 "block/raw-posix: use seek_hole
> ahead
> of fiemap" as bad but this is not the real problem.
> I also tried to switch from btrfs to ext4 but it didn't change anything.
>
> At this point, I was pretty sure that was just stupit and missing something
> trivial.
> I then startet a fedora 22 live system and I saw the same problem. It happens
> on both the ramdisk and a ext4 filesystem.
"it" == qemu-img map hangs or takes a very long time?
Can you post a shell script that reproduces this with a ramdisk? That
seems like the easiest way to get people debugging it.
Stefan
pgpJb2cHaun7V.pgp
Description: PGP signature