From mboxrd@z Thu Jan 1 00:00:00 1970 From: Antoine Martin Subject: Re: raw disks no longer work in latest kvm (kvm-88 was fine) Date: Mon, 08 Mar 2010 02:07:26 +0700 Message-ID: <4B93F96E.30508@nagafix.co.uk> References: <4B92BF97.4040001@nagafix.co.uk> <4B92C90B.4030807@msgid.tls.msk.ru> <4B932829.8090503@nagafix.co.uk> <4B9372B6.3050408@msgid.tls.msk.ru> <20100307100022.GA23201@infradead.org> <4B93A624.8010707@nagafix.co.uk> <4B93AF8A.3070805@nagafix.co.uk> <4B93C2F9.7030904@msgid.tls.msk.ru> <4B93DE3F.4090103@nagafix.co.uk> <4B93DFF0.5050905@redhat.com> <20100307172151.GA24859@infradead.org> <4B93E29E.6090609@redhat.com> <4B93E9EE.6020701@nagafix.co.uk> <4B93F4A4.9050003@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit To: Avi Kivity , Christoph Hellwig , kvm@vger.kernel.org Return-path: Received: from mamba.nagafix.co.uk ([194.145.196.68]:54575 "EHLO mail.nagafix.co.uk" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754683Ab0CGTHc (ORCPT ); Sun, 7 Mar 2010 14:07:32 -0500 In-Reply-To: <4B93F4A4.9050003@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: [snip] >>>> The other interesting thing is that it's using pread - which means >>>> it's a too old kernel to use preadv and thus a not very well tested >>>> codepath with current qemu. >> Too old?, I am confused: both host and guest kernels are 2.6.33! >> I built KVM against the 2.6.30 headers though. > > You need to build qemu against the 2.6.33 headers ('make > headers-install'). But after we fix this, please. OK. I'm signing off for today, but I will test whatever patches/suggestions you send my way. > >>> >>> It may also be that glibc is emulating preadv, incorrectly. >> Not sure how to do that. >>> >>> Antoine, can you check this? ltrace may help, >> This the only part that looked slightly relevant: >> [pid 26883] __xstat64(1, "./vm/media_fs", 0x7fff92e40500) = 0 >> [pid 26883] malloc(48) = 0x2a38d60 >> [pid 26883] memset(0x2a38d60, '\000', 48) = 0x2a38d60 >> [pid 26883] open64("./vm/media_fs", 540674, 00) = 12 >> [pid 26883] posix_memalign(0x7fff92e40560, 512, 16384, -1, 48) = 0 >> [pid 26883] lseek64(12, 0, 2, 0x7f404f2f3e60, 4) = 0x133c4820600 > > > Where's pread/preadv? Did you use -f? Yes I did. ltrace -f bash ./vm/start.sh >& trace.log >>> or run 'strings libc.so | grep pread'. >>> >> strings /lib/libc.so.6 | grep pread >> preadv >> preadv64 >> pread >> __pread64_chk >> __pread64 >> __pread_chk >> > > So it does seem glibc emulates preadv. > > Perhaps https://bugzilla.redhat.com/show_bug.cgi?id=563103 ? This a gentoo box... but yes, this does look similar doesn't it? Antoine