qemu/block
Hanna Reitz a2085f8909 block: Split BlockNodeInfo off of ImageInfo
ImageInfo sometimes contains flat information, and sometimes it does
not.  Split off a BlockNodeInfo struct, which only contains information
about a single node and has no link to the backing image.

We do this so we can extend BlockNodeInfo to a BlockGraphInfo struct,
which has links to all child nodes, not just the backing node.  It would
be strange to base BlockGraphInfo on ImageInfo, because then this
extended struct would have two links to the backing node (one in
BlockGraphInfo as one of all the child links, and one in ImageInfo).

Furthermore, it is quite common to ignore the backing-image field
altogether: bdrv_query_image_info() does not set it, and
bdrv_image_info_dump() does not evaluate it.  That signals that we
should have different structs for describing a single node and one that
has a link to the backing image.

Still, bdrv_query_image_info() and bdrv_image_info_dump() are not
changed too much in this patch.  Follow-up patches will handle them.

Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20220620162704.80987-5-hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2023-02-01 16:52:33 +01:00
..
export include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
monitor include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
accounting.c block: add missed block_acct_setup with new block device init procedure 2022-09-30 18:42:34 +02:00
aio_task.c block/aio_task: assert max_busy_tasks is greater than 0 2021-10-05 18:56:41 +02:00
amend.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
backup.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
blkdebug.c block: Convert bdrv_debug_event() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
blkio.c block: Convert bdrv_get_info() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
blklogwrites.c block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
blkreplay.c block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
blkverify.c block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
block-backend.c block: Convert bdrv_lock_medium() to co_wrapper 2023-02-01 16:52:32 +01:00
block-copy.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
block-gen.h block-coroutine-wrapper.py: support also basic return types 2022-12-15 16:07:43 +01:00
block-ram-registrar.c block: add BlockRAMRegistrar 2022-10-26 14:56:42 -04:00
bochs.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
cloop.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
commit.c block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
copy-before-write.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
copy-before-write.h block/copy-before-write.h: global state API + assertions 2022-03-04 18:18:25 +01:00
copy-on-read.c block: Convert bdrv_lock_medium() to co_wrapper 2023-02-01 16:52:32 +01:00
copy-on-read.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
coroutines.h block: GRAPH_RDLOCK for functions only called by co_wrappers 2022-12-15 16:08:23 +01:00
create.c block_int-common.h: assertions in the callers of BlockDriver function pointers 2022-03-04 18:18:25 +01:00
crypto.c block: Convert bdrv_get_info() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
crypto.h nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
curl.c block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
dirty-bitmap.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
dmg-bz2.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
dmg-lzfse.c block: Remove unused include 2020-11-09 15:44:21 +01:00
dmg.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
dmg.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
file-posix.c block/file: Add file-specific image info 2023-02-01 16:52:33 +01:00
file-win32.c block: Convert bdrv_get_allocated_file_size() to co_wrapper 2023-02-01 16:52:32 +01:00
filter-compress.c block: Convert bdrv_lock_medium() to co_wrapper 2023-02-01 16:52:32 +01:00
gluster.c block: Convert bdrv_get_allocated_file_size() to co_wrapper 2023-02-01 16:52:32 +01:00
graph-lock.c graph-lock: TSA annotations for lock/unlock functions 2022-12-15 16:08:23 +01:00
io_uring.c block/io_uring: revert "Use io_uring_register_ring_fd() to skip fd operations" 2022-10-27 20:14:11 +02:00
io.c block: Rename bdrv_load/save_vmstate() to bdrv_co_load/save_vmstate() 2023-02-01 16:52:32 +01:00
iscsi-opts.c modules: add block module annotations 2021-07-09 18:20:27 +02:00
iscsi.c block: Convert bdrv_get_info() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
linux-aio.c misc: fix commonly doubled up words 2022-08-01 11:58:02 +02:00
meson.build block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
mirror.c block: Convert bdrv_get_info() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
nbd.c block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
nfs.c block: Convert bdrv_get_allocated_file_size() to co_wrapper 2023-02-01 16:52:32 +01:00
null.c block: Convert bdrv_get_allocated_file_size() to co_wrapper 2023-02-01 16:52:32 +01:00
nvme.c block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
parallels-ext.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
parallels.c block: bdrv_create_file is a coroutine_fn 2022-12-15 16:07:43 +01:00
parallels.h parallels: support bitmap extension for read-only mode 2021-03-08 14:56:55 +01:00
preallocate.c block: use bdrv_co_refresh_total_sectors when possible 2023-02-01 16:52:32 +01:00
progress_meter.c coroutine: Clean up superfluous inclusion of qemu/lockable.h 2023-01-19 10:18:28 +01:00
qapi-sysemu.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
qapi.c block: Split BlockNodeInfo off of ImageInfo 2023-02-01 16:52:33 +01:00
qcow2-bitmap.c qcow2: Fix theoretical corruption in store_bitmap() error path 2023-01-24 18:26:41 +01:00
qcow2-cache.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
qcow2-cluster.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
qcow2-refcount.c block: Convert bdrv_get_allocated_file_size() to co_wrapper 2023-02-01 16:52:32 +01:00
qcow2-snapshot.c qcow2: switch to *_co_* functions 2022-10-27 20:14:11 +02:00
qcow2-threads.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
qcow2.c block: Rename bdrv_load/save_vmstate() to bdrv_co_load/save_vmstate() 2023-02-01 16:52:32 +01:00
qcow2.h qcow2: manually add more coroutine_fn annotations 2022-10-27 20:14:11 +02:00
qcow.c block: Convert bdrv_get_info() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
qed-check.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
qed-cluster.c qed: protect table cache with CoMutex 2017-07-17 11:34:11 +08:00
qed-l2-cache.c osdep: Move memalign-related functions to their own header 2022-03-07 13:16:49 +00:00
qed-table.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
qed.c block: Convert bdrv_get_info() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
qed.h qed: Simplify backing reads 2020-07-06 10:34:14 +02:00
quorum.c block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
raw-format.c block: Convert bdrv_lock_medium() to co_wrapper 2023-02-01 16:52:32 +01:00
rbd.c block: Convert bdrv_get_info() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
replication.c block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
reqlist.c block/reqlist: add reqlist_wait_all() 2022-03-07 09:33:30 +01:00
snapshot-access.c block: Manipulate bs->file / bs->backing pointers in .attach/.detach 2022-10-27 20:14:11 +02:00
snapshot.c block/snapshot: drop indirection around bdrv_snapshot_fallback_ptr 2022-10-27 20:14:11 +02:00
ssh.c block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
stream.c stream: Replace subtree drain with a single node drain 2022-12-15 16:07:42 +01:00
throttle-groups.c block/throttle-groups: throttle_group_co_io_limits_intercept(): 64bit bytes 2021-02-03 08:14:00 -06:00
throttle.c block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
trace-events nbd: trace long NBD operations 2022-06-29 10:57:02 +03:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vdi.c block: Convert bdrv_get_info() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
vhdx-endian.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
vhdx-log.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
vhdx.c block: Convert bdrv_get_info() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
vhdx.h block/vhdx: Use IEC binary prefixes for size constants 2019-04-30 15:29:00 +02:00
vmdk.c block/vmdk: Change extent info type 2023-02-01 16:52:33 +01:00
vpc.c block: Convert bdrv_get_info() to co_wrapper_mixed 2023-02-01 16:52:32 +01:00
vvfat.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
win32-aio.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
write-threshold.c include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00