From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57225) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WHsVa-000094-VZ for qemu-devel@nongnu.org; Mon, 24 Feb 2014 05:11:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WHsVU-0005uJ-RR for qemu-devel@nongnu.org; Mon, 24 Feb 2014 05:11:34 -0500 Received: from mx1.redhat.com ([209.132.183.28]:28518) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WHsVU-0005tz-Jo for qemu-devel@nongnu.org; Mon, 24 Feb 2014 05:11:28 -0500 Date: Mon, 24 Feb 2014 09:47:07 +0100 From: Stefan Hajnoczi Message-ID: <20140224084707.GB31730@stefanha-thinkpad.redhat.com> References: <1383905551-16411-1-git-send-email-stefanha@redhat.com> <1383905551-16411-34-git-send-email-stefanha@redhat.com> <3030240E-C490-4E7C-8D41-5319E25DA8A6@suse.de> <20140221141541.GI30664@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140221141541.GI30664@localhost.localdomain> Subject: Re: [Qemu-devel] [PULL v2 33/37] block: vhdx - add .bdrv_create() support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jeff Cody Cc: Peter Maydell , Alexander Graf , Anthony Liguori , QEMU Developers On Fri, Feb 21, 2014 at 09:15:41AM -0500, Jeff Cody wrote: > On Fri, Feb 21, 2014 at 01:06:43PM +0100, Alexander Graf wrote: > > > > On 08.11.2013, at 11:12, Stefan Hajnoczi wrote: > > > /* Header for the region table block */ > > > +#define VHDX_REGION_SIGNATURE 0x69676572 /* "regi" in ASCII */ > > > typedef struct QEMU_PACKED VHDXRegionTableHeader { > > > uint32_t signature; /* "regi" in ASCII */ > > > uint32_t checksum; /* CRC-32C hash of the 64KB table */ > > > @@ -238,6 +247,7 @@ typedef uint64_t VHDXBatEntry; > > > #define VHDX_METADATA_MAX_ENTRIES 2047 /* not including the header */ > > > #define VHDX_METADATA_TABLE_MAX_SIZE \ > > > (VHDX_METADATA_ENTRY_SIZE * (VHDX_METADATA_MAX_ENTRIES+1)) > > > +#define VHDX_METADATA_SIGNATURE 0x617461646174656D /* "metadata" in ASCII */ > > > > This is missing a "ULL" tag. There are a few places where compilation of vhdx spawns warnings on 32bit hosts - I haven't checked all of them. > > > > 02/21 12:22:14 ERROR| utils:0144| [stderr] block/vhdx.c: In function 'vhdx_open': > > 02/21 12:22:14 ERROR| utils:0144| [stderr] block/vhdx.c:957: warning: integer constant is too large for 'long' type > > 02/21 12:22:14 ERROR| utils:0144| [stderr] block/vhdx.c: In function 'vhdx_block_translate': > > 02/21 12:22:14 ERROR| utils:0144| [stderr] block/vhdx.c:1027: warning: integer constant is too large for 'long' type > > 02/21 12:22:14 ERROR| utils:0144| [stderr] block/vhdx.c: In function 'vhdx_create_new_metadata': > > 02/21 12:22:14 ERROR| utils:0144| [stderr] block/vhdx.c:1455: warning: integer constant is too large for 'long' type > > 02/21 12:22:14 ERROR| utils:0144| [stderr] block/vhdx.c: In function 'vhdx_create': > > 02/21 12:22:14 ERROR| utils:0144| [stderr] block/vhdx.c:1812: warning: integer constant is too large for 'long' type > > Ouch. > Thanks Alex. I'll put together a 32-bit vm to build with and verify > everything, and then post patches to fix. You can save time by configuring with -m32. Make sure you have 32-bit libs installed on the build machine. That way you can test 32-bit builds on a 64-bit host without setting up a new machine. Stefan