From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:45788) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QuhGb-0000gU-B8 for qemu-devel@nongnu.org; Sat, 20 Aug 2011 04:50:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QuhGZ-0004jN-V7 for qemu-devel@nongnu.org; Sat, 20 Aug 2011 04:50:57 -0400 Received: from v220110690675601.yourvserver.net ([78.47.199.172]:35034) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QuhGZ-0004jC-Qa for qemu-devel@nongnu.org; Sat, 20 Aug 2011 04:50:55 -0400 Message-ID: <4E4F756C.3060907@mail.berlios.de> Date: Sat, 20 Aug 2011 10:50:52 +0200 From: Stefan Weil MIME-Version: 1.0 References: <20110814163249.14483.93520.malonedeb@gac.canonical.com> <20110816180748.17238.22695.malone@chaenomeles.canonical.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Bug 826363] Re: qemu-img convert does not work with vdi files List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Bug 826363 <826363@bugs.launchpad.net> Cc: qemu-devel@nongnu.org Am 17.08.2011 18:44, schrieb Stefan Hajnoczi: > On Wed, Aug 17, 2011 at 5:29 PM, Stefan Hajnoczi > wrote: >> On Tue, Aug 16, 2011 at 7:07 PM, Steve Si <826363@bugs.launchpad.net> >> wrote: >>> I got binaries from http://homepage3.nifty.com/takeda-toshiya/ >>> >>> tested under Win 7 64-bit as User=Administrator >>> >>> qemu10.6 - works makes 16/08/2011 18:43 3,096,481,792 >>> test.raw >>> qemu11.1 - works makes 16/08/2011 18:43 3,096,481,792 >>> test.raw >>> qemu12.1 - crashes ! >>> qemu12.2 - crashes ! >>> qemu12.5 - error while writing >> >> I think this crash->error transition is explained by: >> >> commit 8cef921d18025b4ce4e749eed391308033fee232 >> Author: TeLeMan >> Date: Mon Feb 8 16:20:00 2010 +0800 >> >> qemu-img: use the heap instead of the huge stack array for win32 >> >> But we still don't know why you are getting the write error. It would >> be fairly easy to find that out by building QEMU from source and >> adding fprintf() where the write fails - print out the error code and >> sector number. The current code only supports images (any format) with less than 4 GiB (maybe even less than 2 GiB). This limitation is caused by the usage of function ftruncate to create the destination file. ftruncate takes a long (32 bit) parameter. Linux code also uses ftruncate to create files of a certain size. This is not a good solution. Extract from the man page: "However, some non-native file systems do not permit truncate() and ftruncate() to be used to extend a file beyond its current length: a notable example on Linux is VFAT."