]> git.proxmox.com Git - mirror_qemu.git/commit
block: pass size to bdrv_unregister_buf()
authorStefan Hajnoczi <stefanha@redhat.com>
Thu, 13 Oct 2022 18:58:59 +0000 (14:58 -0400)
committerStefan Hajnoczi <stefanha@redhat.com>
Wed, 26 Oct 2022 18:56:42 +0000 (14:56 -0400)
commit4f384011c5a37f80dc6cadefffac61ffb1c3aa1e
treed720ec42488e83afa07d95c45ee33c3f0a15d6fa
parent1f0fea38f46a786dd87407997e8bfbccca5e458f
block: pass size to bdrv_unregister_buf()

The only implementor of bdrv_register_buf() is block/nvme.c, where the
size is not needed when unregistering a buffer. This is because
util/vfio-helpers.c can look up mappings by address.

Future block drivers that implement bdrv_register_buf() may not be able
to do their job given only the buffer address. Add a size argument to
bdrv_unregister_buf().

Also document the assumptions about
bdrv_register_buf()/bdrv_unregister_buf() calls. The same <host, size>
values that were given to bdrv_register_buf() must be given to
bdrv_unregister_buf().

gcc 11.2.1 emits a spurious warning that img_bench()'s buf_size local
variable might be uninitialized, so it's necessary to silence the
compiler.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-id: 20221013185908.1297568-5-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
block/block-backend.c
block/io.c
block/nvme.c
include/block/block-global-state.h
include/block/block_int-common.h
include/sysemu/block-backend-global-state.h
qemu-img.c