qemu-e2k/block
Alberto Garcia 3c2e511a24 qcow2: Add l2_slice_size field to BDRVQcow2State
The BDRVQcow2State structure contains an l2_size field, which stores
the number of 64-bit entries in an L2 table.

For efficiency reasons we want to be able to load slices instead of
full L2 tables, so we need to know how many entries an L2 slice can
hold.

An L2 slice is the portion of an L2 table that is loaded by the qcow2
cache. At the moment that cache can only load complete tables,
therefore an L2 slice has the same size as an L2 table (one cluster)
and l2_size == l2_slice_size.

Later we'll allow smaller slices, but until then we have to use this
new l2_slice_size field to make the rest of the code ready for that.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: adb048595f9fb5dfb110c802a8b3c3be3b937f37.1517840877.git.berto@igalia.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
2018-02-13 16:59:59 +01:00
..
accounting.c block: make accounting thread-safe 2017-06-16 07:55:00 +08:00
backup.c backup: use copy_bitmap in incremental backup 2017-12-18 10:54:13 -05:00
blkdebug.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
blkreplay.c block: change variable names in BlockDriverState 2017-06-26 14:54:46 +02:00
blkverify.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
block-backend.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
bochs.c block: Deprecate bdrv_set_read_only() and users 2017-11-17 13:35:59 +01:00
cloop.c block: Deprecate bdrv_set_read_only() and users 2017-11-17 13:35:59 +01:00
commit.c commit: Simplify reopen of base 2017-12-22 15:05:32 +01:00
crypto.c block: Simplify bdrv_can_write_zeroes_with_unmap() 2018-02-09 12:32:44 -06:00
crypto.h qcow: convert QCow to use QCryptoBlock for encryption 2017-07-11 17:44:56 +02:00
curl.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
dirty-bitmap.c block: maintain persistent disabled bitmaps 2018-02-13 16:59:58 +01:00
dmg-bz2.c dmg: Move libbz2 code to dmg-bz2.so 2016-10-07 14:14:06 +02:00
dmg.c block: Deprecate bdrv_set_read_only() and users 2017-11-17 13:35:59 +01:00
dmg.h block: remove "qemu/osdep.h" from header file 2017-12-18 17:07:02 +03:00
file-posix.c block: Simplify bdrv_can_write_zeroes_with_unmap() 2018-02-09 12:32:44 -06:00
file-win32.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
gluster.c gluster: Add preallocated truncation 2018-02-13 16:18:35 +01:00
io.c block: Introduce buf register API 2018-02-08 09:22:03 +08:00
iscsi-opts.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
iscsi.c block: Simplify bdrv_can_write_zeroes_with_unmap() 2018-02-09 12:32:44 -06:00
linux-aio.c block: explicitly acquire aiocontext in aio callbacks that need it 2017-02-21 11:39:39 +00:00
Makefile.objs block: Add VFIO based NVMe driver 2018-02-08 09:22:03 +08:00
mirror.c blockjob: remove clock argument from block_job_sleep_ns 2017-11-29 15:11:02 +01:00
nbd-client.c nbd: Don't crash when server reports NBD_CMD_READ failure 2017-11-17 08:02:45 -06:00
nbd-client.h nbd: Minimal structured read for client 2017-10-30 21:48:41 +01:00
nbd.c block: Simplify bdrv_can_write_zeroes_with_unmap() 2018-02-09 12:32:44 -06:00
nfs.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
null.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
nvme.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
parallels.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
parallels.h Clean up includes 2018-02-09 05:05:11 +01:00
qapi.c Include qapi/qmp/qdict.h exactly where needed 2018-02-09 13:52:15 +01:00
qcow2-bitmap.c block: maintain persistent disabled bitmaps 2018-02-13 16:59:58 +01:00
qcow2-cache.c qcow2: Remove BDS parameter from qcow2_cache_is_table_offset() 2018-02-13 16:59:59 +01:00
qcow2-cluster.c qcow2: Add offset_to_l1_index() 2018-02-13 16:59:59 +01:00
qcow2-refcount.c qcow2: Remove BDS parameter from qcow2_cache_is_table_offset() 2018-02-13 16:59:59 +01:00
qcow2-snapshot.c qcow2: Discard/zero clusters by byte count 2017-05-11 14:28:07 +02:00
qcow2.c qcow2: Add l2_slice_size field to BDRVQcow2State 2018-02-13 16:59:59 +01:00
qcow2.h qcow2: Add l2_slice_size field to BDRVQcow2State 2018-02-13 16:59:59 +01:00
qcow.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
qed-check.c qed: Use DIV_ROUND_UP 2016-06-07 18:19:24 +03:00
qed-cluster.c qed: protect table cache with CoMutex 2017-07-17 11:34:11 +08:00
qed-l2-cache.c qed: protect table cache with CoMutex 2017-07-17 11:34:11 +08:00
qed-table.c qed: protect table cache with CoMutex 2017-07-17 11:34:11 +08:00
qed.c block: Simplify bdrv_can_write_zeroes_with_unmap() 2018-02-09 12:32:44 -06:00
qed.h qed: protect table cache with CoMutex 2017-07-17 11:34:11 +08:00
quorum.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
raw-format.c block: remove unused bdrv_media_changed 2017-09-04 18:31:13 +02:00
rbd.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
replication.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
sheepdog.c sheepdog: Allow fully preallocated truncation 2018-02-13 16:18:41 +01:00
snapshot.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
ssh.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
stream.c blockjob: remove clock argument from block_job_sleep_ns 2017-11-29 15:11:02 +01:00
throttle-groups.c throttle-groups: forget timer and schedule next TGM on detach 2017-11-16 14:12:57 +00:00
throttle.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
trace-events block: Add VFIO based NVMe driver 2018-02-08 09:22:03 +08:00
vdi.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
vhdx-endian.c vhdx: Use QEMU UUID API 2016-09-23 11:42:52 +08:00
vhdx-log.c vhdx: use QEMU_ALIGN_DOWN 2017-08-31 12:29:07 +02:00
vhdx.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
vhdx.h
vmdk.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
vpc.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
vvfat.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
vxhs.c qobject: Use simpler QDict/QList scalar insertion macros 2017-05-09 09:13:51 +02:00
win32-aio.c block: explicitly acquire aiocontext in aio callbacks that need it 2017-02-21 11:39:39 +00:00
write-threshold.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00