QingFeng Hao 4545d4f4af block/vmdk: Fix the endian problem of buf_len and lba
The problem was triggered by qemu-iotests case 055. It failed when it
was comparing the compressed vmdk image with original test.img.

The cause is that buf_len in vmdk_write_extent wasn't converted to
little-endian before it was stored to disk. But later vmdk_read_extent
read it and converted it from little-endian to cpu endian.
If the cpu is big-endian like s390, the problem will happen and
the data length read by vmdk_read_extent will become invalid!
The fix is to add the conversion in vmdk_write_extent, meanwhile,
repair the endianness problem of lba field which shall also be converted
to little-endian before storing to disk.

Cc: qemu-stable@nongnu.org
Signed-off-by: QingFeng Hao <haoqf@linux.vnet.ibm.com>
Signed-off-by: Jing Liu <liujbjl@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Message-id: 20161216052040.53067-2-haoqf@linux.vnet.ibm.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2017-02-12 00:47:42 +01:00
..
2016-01-20 13:36:23 +01:00
2016-11-14 22:47:34 -05:00
2016-10-07 14:14:06 +02:00
2016-10-07 14:14:06 +02:00
2016-10-07 14:14:06 +02:00
2016-11-11 15:54:55 +01:00
2016-10-07 13:34:07 +02:00
2016-11-25 13:51:30 +01:00
2016-11-11 15:54:55 +01:00
2016-06-07 18:19:24 +03:00
2016-01-20 13:36:23 +01:00
2016-01-20 13:36:23 +01:00
2016-01-20 13:36:23 +01:00
2016-10-28 21:50:18 +08:00
2016-10-28 21:50:18 +08:00
2016-10-07 13:34:07 +02:00
2017-01-09 13:30:52 +01:00
2016-11-01 07:55:57 -04:00
2016-11-14 22:47:34 -05:00
2016-09-23 11:42:52 +08:00