Antoine Martin wrote:
> On 03/08/2010 02:35 AM, Avi Kivity wrote:
>> On 03/07/2010 09:25 PM, Antoine Martin wrote:
>>> On 03/08/2010 02:17 AM, Avi Kivity wrote:
>>>> On 03/07/2010 09:13 PM, Antoine Martin wrote:
>>>>>> What version of glibc do you have installed?
>>>>>
>>>>> Latest stable:
>>>>> sys-devel/gcc-4.3.4
>>>>> sys-libs/glibc-2.10.1-r1
>>>>>
>>>>
>>>> $ git show glibc-2.10~108 | head
>>>> commit e109c6124fe121618e42ba882e2a0af6e97b8efc
>>>> Author: Ulrich Drepper <[email protected]>
>>>> Date: Fri Apr 3 19:57:16 2009 +0000
>>>>
>>>> * misc/Makefile (routines): Add preadv, preadv64, pwritev,
>>>> pwritev64.
>>>>
>>>> * misc/Versions: Export preadv, preadv64, pwritev, pwritev64
>>>> for
>>>> GLIBC_2.10.
>>>> * misc/sys/uio.h: Declare preadv, preadv64, pwritev, pwritev64.
>>>> * sysdeps/unix/sysv/linux/kernel-features.h: Add entries for
>>>> preadv
>>>>
>>>> You might get away with rebuilding glibc against the 2.6.33 headers.
>>>>
>>> The latest kernel headers available in gentoo (and they're masked
>>> unstable):
>>> sys-kernel/linux-headers-2.6.32
>>>
>>> So I think I will just keep using Christoph's patch until .33 hits
>>> portage.
>>> Unless there's any reason not to? I would rather keep my system "clean".
>>> I can try it though, if that helps you clear things up?
>>
>> preadv/pwritev was actually introduced in 2.6.30. Perhaps you last
>> build glibc before that? If so, a rebuild may be all that's necessary.
>>
> To be certain, I've rebuilt qemu-kvm against:
> linux-headers-2.6.33 + glibc-2.10.1-r1 (both freshly built)
> And still no go!
> I'm still having to use the patch which disables preadv unconditionally...
Better late than never, here's the relevant part of the strace (for the
unpatched case where it fails):
stat("./fs", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 41), ...}) = 0
open("./fs", O_RDWR|O_DIRECT|O_CLOEXEC) = 12
lseek(12, 0, SEEK_END) = 1321851815424
[pid 31266] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31266] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31266] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31266] lseek(12, 0, SEEK_SET) = 0
[pid 31266] read(12,
"\240\246E\32\r\21\367c\212\316Xn\177e'\310}\234\1\273`\371\266\247\r\1nj\332\32\221\26"...,
512) = 512
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, "iQ\35
\271O\203vj\ve[Ni}\355\263\272\4#yMo\266.\341\21\340Y5\204\20"..., 4096,
1321851805696) = 4096
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31273] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31271] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31331] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31294] pread(12, "iQ\35
\271O\203vj\ve[Ni}\355\263\272\4#yMo\266.\341\21\340Y5\204\20"..., 512,
1321851805696) = 512
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31298] pread(12,
"\240\246E\32\r\21\367c\212\316Xn\177e'\310}\234\1\273`\371\266\247\r\1nj\332\32\221\26"...,
512, 0) = 512
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31307] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31295] pread(12,
"\240\246E\32\r\21\367c\212\316Xn\177e'\310}\234\1\273`\371\266\247\r\1nj\332\32\221\26"...,
2048, 0) = 2048
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31330] pread(12,
"=\206\5\355\35\2\2610\33\271\355\300qm\2174K\366\340ng\23\311\210Gg\220m\27\33E\254"...,
512, 1321851748352) = 512
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31331] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31294] pread(12,
"\240\246E\32\r\21\367c\212\316Xn\177e'\310}\234\1\273`\371\266\247\r\1nj\332\32\221\26"...,
512, 0) = 512
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
[pid 31298] pread(12, <unfinished ...>
[pid 31267] lseek(12, 0, SEEK_END) = 1321851815424
Antoine
>
> Antoine
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html