]> git.proxmox.com Git - mirror_qemu.git/commit - include/block/block_int-common.h
block: move has_variable_length to BlockLimits
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 7 Apr 2023 15:32:56 +0000 (17:32 +0200)
committerKevin Wolf <kwolf@redhat.com>
Tue, 11 Apr 2023 14:38:34 +0000 (16:38 +0200)
commit160a29e2f8b2d100246ab446813409f72d1e0767
tree1b9ca64dcf78e2c9fde51d72e59a435ce7a67753
parent2b1f8fcb847f8cc7a214e14cbbdf99b354a4f8e3
block: move has_variable_length to BlockLimits

At the protocol level, has_variable_length only needs to be true in the
very special case of host CD-ROM drives, so that they do not need an
explicit monitor command to read the new size when a disc is loaded
in the tray.

However, at the format level has_variable_length has to be true for all
raw blockdevs and for all filters, even though in practice the length
depends on the underlying file and thus will not change except in the
case of host CD-ROM drives.

As a first step towards computing an accurate value of has_variable_length,
add the value into the BlockLimits structure and initialize the field
from the BlockDriver.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20230407153303.391121-2-pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block.c
block/io.c
include/block/block_int-common.h