qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL v2 33/37] block: vhdx - add .bdrv_create() suppor


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PULL v2 33/37] block: vhdx - add .bdrv_create() support
Date: Mon, 24 Feb 2014 09:47:07 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

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 <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]