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 <drepper@xxxxxxxxxx> >>>> 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 majordomo@xxxxxxxxxxxxxxx > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html