qemu-e2k/docs/interop
Eric Blake d3e1a7eb4c qcow2: Document some maximum size constraints
Although off_t permits up to 63 bits (8EB) of file offsets, in
practice, we're going to hit other limits first.  Document some
of those limits in the qcow2 spec (some are inherent, others are
implementation choices of qemu), and how choice of cluster size
can influence some of the limits.

While we cannot map any uncompressed virtual cluster to any
address higher than 64 PB (56 bits) (due to the current L1/L2
field encoding stopping at bit 55), qemu's cap of 8M for the
refcount table can still access larger host addresses for some
combinations of large clusters and small refcount_order.  For
comparison, ext4 with 4k blocks caps files at 16PB.

Another interesting limit: for compressed clusters, the L2 layout
requires an ever-smaller maximum host offset as cluster size gets
larger, down to a 512 TB maximum with 2M clusters.  In particular,
note that with a cluster size of 8k or smaller, the L2 entry for
a compressed cluster could technically point beyond the 64PB mark,
but when you consider that with 8k clusters and refcount_order = 0,
you cannot access beyond 512T without exceeding qemu's limit of an
8M cap on the refcount table, it is unlikely that any image in the
wild has attempted to do so.  To be safe, let's document that bits
beyond 55 in a compressed cluster must be 0.

Signed-off-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2018-11-19 12:51:40 +01:00
..
bitmaps.rst bitmaps.md: Convert to rST; move it into 'interop' dir 2017-07-18 00:11:01 -04:00
firmware.json docs/interop: add "firmware.json" 2018-06-01 15:14:25 +02:00
live-block-operations.rst Remove the deprecated -nodefconfig option 2018-08-31 09:52:46 +02:00
nbd.txt docs/interop: add nbd.txt 2018-06-21 09:23:59 -05:00
parallels.txt docs: create interop/ subdirectory 2017-06-15 11:18:39 +02:00
pr-helper.rst scsi: build qemu-pr-helper 2017-09-22 21:07:24 +02:00
prl-xml.txt docs/interop/prl-xml: description of Parallels Disk format 2018-01-22 14:02:33 +00:00
qcow2.txt qcow2: Document some maximum size constraints 2018-11-19 12:51:40 +01:00
qed_spec.txt docs: create interop/ subdirectory 2017-06-15 11:18:39 +02:00
qemu-ga-ref.texi docs: create interop/ subdirectory 2017-06-15 11:18:39 +02:00
qemu-qmp-ref.texi docs: create interop/ subdirectory 2017-06-15 11:18:39 +02:00
qmp-intro.txt docs/interop/qmp: Improve OOB documentation 2018-07-03 23:09:31 +02:00
qmp-spec.txt docs/interop/qmp-spec: How to force known good parser state 2018-08-24 20:25:48 +02:00
vhost-user.txt docs: Fix some typos (most found by codespell) 2018-09-25 17:26:18 +02:00
vnc-ledstate-Pseudo-encoding.txt docs: create interop/ subdirectory 2017-06-15 11:18:39 +02:00