qemu-e2k/block
Charles Arnold 258d2edbcd block: vpc support for ~2 TB disks
The VHD specification allows for up to a 2 TB disk size. The current
implementation in qemu emulates EIDE and ATA-2 hardware which only allows
for up to 127 GB.  This disk size limitation can be overridden by allowing
up to 255 heads instead of the normal 4 bit limitation of 16.  Doing so
allows disk images to be created of up to nearly 2 TB.  This change does
not violate the VHD format specification nor does it change how smaller
disks (ie, <=127GB) are defined.

[Charles Arnold also writes: "In analyzing a 160 GB VHD fixed disk image
created on Windows 2008 R2, it appears that MS is also ignoring the CHS
values in the footer geometry field in whatever driver they use for
accessing the image.  The CHS values are set at 65535,16,255 which
obviously doesn't represent an image size of 160 GB." -- Stefan]

Signed-off-by: Charles Arnold <carnold@suse.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-12-11 11:04:26 +01:00
..
Makefile.objs Merge remote-tracking branch 'origin/master' into threadpool 2012-10-31 10:42:51 +01:00
blkdebug.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
blkverify.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
bochs.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
cloop.c block/cloop: Use g_free instead of free 2011-11-04 14:24:12 +01:00
commit.c aio: Get rid of qemu_aio_flush() 2012-12-11 11:04:25 +01:00
cow.c block: Fix spelling in comment (ineffcient -> inefficient) 2012-04-19 15:48:52 +02:00
curl.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
dmg.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
gluster.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
iscsi.c iscsi: do not assume device is zero initialized 2012-11-28 12:51:58 +01:00
linux-aio.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
mirror.c aio: Get rid of qemu_aio_flush() 2012-12-11 11:04:25 +01:00
nbd.c nbd: accept URIs 2012-11-12 14:38:28 +01:00
parallels.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
qcow.c block: qcow image file reopen 2012-09-24 15:15:12 +02:00
qcow2-cache.c qcow2: always operate caches in writeback mode 2012-06-15 14:03:43 +02:00
qcow2-cluster.c qcow2: implement lazy refcounts 2012-08-06 22:39:14 +02:00
qcow2-refcount.c qcow2: Fix refcount table size calculation 2012-11-14 18:19:21 +01:00
qcow2-snapshot.c qcow2: fix #ifdef'd qcow2_check_refcounts() callers 2012-07-09 15:53:01 +02:00
qcow2.c qcow2: mark this file's sole strncpy use as justified 2012-10-05 07:58:38 -05:00
qcow2.h qcow2: implement lazy refcounts 2012-08-06 22:39:14 +02:00
qed-check.c qed: mark image clean after repair succeeds 2012-08-10 10:25:12 +02:00
qed-cluster.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qed-gencb.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qed-l2-cache.c qed: do not evict in-use L2 table cache entries 2012-03-12 15:14:06 +01:00
qed-table.c cleanup useless return sentence 2012-10-05 15:10:21 +02:00
qed.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
qed.h qed: mark image clean after repair succeeds 2012-08-10 10:25:12 +02:00
raw-aio.h raw-win32: implement native asynchronous I/O 2012-10-31 10:38:13 +01:00
raw-posix.c block: add bdrv_reopen() support for raw hdev, floppy, and cdrom 2012-11-21 09:40:29 +01:00
raw-win32.c raw-win32: implement native asynchronous I/O 2012-10-31 10:38:13 +01:00
raw.c block: raw image file reopen 2012-09-24 15:15:12 +02:00
rbd.c use int64_t for return values from rbd instead of int 2012-11-21 09:43:23 +01:00
sheepdog.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00
stream.c aio: Get rid of qemu_aio_flush() 2012-12-11 11:04:25 +01:00
vdi.c vdi: don't override libuuid symbols 2012-11-21 09:40:29 +01:00
vmdk.c vmdk: Fix data corruption bug in WRITE and READ handling 2012-11-14 18:19:23 +01:00
vpc.c block: vpc support for ~2 TB disks 2012-12-11 11:04:26 +01:00
vvfat.c block: Convert close calls to qemu_close 2012-08-15 10:48:57 +02:00
win32-aio.c aio: rename AIOPool to AIOCBInfo 2012-11-14 18:19:21 +01:00