[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Qemu-block] [PATCH for-2.11] iotests: Fix 176 on 32-bi
Re: [Qemu-devel] [Qemu-block] [PATCH for-2.11] iotests: Fix 176 on 32-bit host
Fri, 17 Nov 2017 17:59:58 -0500
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
On 11/17/2017 02:10 PM, Eric Blake wrote:
> On 11/17/2017 01:04 PM, Eric Blake wrote:
>> The contents of a qcow2 bitmap are rounded up to a size that
>> matches the number of bits available for the granularity, but
>> that granularity differs for 32-bit hosts (our default 64k
>> cluster allows for 2M bitmap coverage per 'long') and 64-bit
>> hosts (4M bitmap per 'long'). If the image is a multiple of
>> 2M but not 4M, then the number of bytes occupied by the array
>> of longs in memory differs between architecture, thus
>> resulting in different SHA256 hashes.
>> Furthermore (but untested by me), if our computation of the
>> SHA256 hash is at all endian-dependent because of how we store
>> data in memory, that's another variable we'd have to account
>> for (ideally, we specified the bitmap stored in qcow2 as
>> fixed-endian on disk, because the same qcow2 file must be
>> usable across any architecture; but that says nothing about
>> how we represent things in memory). But we already have test
>> 165 to validate that bitmaps are stored correctly on disk,
>> while this test is merely testing that the bitmap exists.
>> So for this test, the easiest solution is to filter out the
>> actual hash value. Broken in commit 4096974e.
> Of course, if Kevin sends a v2 pull, it's probably better to just squash
> this in to my original testsuite change (since a v2 would probably
> invalidate that commit id).
Whichever way you go,
Reviewed-by: John Snow <address@hidden>
I don't know how important it is to nail this down, but the purpose of
this command is primarily for sanity testing and not necessarily between
architectures, so this might just be a limitation to document.
Also, don't use this for anything except testing.