diff options
| author | Eric Blake <eblake@redhat.com> | 2025-05-09 15:40:20 -0500 |
|---|---|---|
| committer | Eric Blake <eblake@redhat.com> | 2025-05-14 15:55:12 -0500 |
| commit | 31bf15d97dd1d205a3b264675f9a1b3bd1939068 (patch) | |
| tree | 8585c20bc572a0972ce154bca04e4844947a647e /hw/core/sysbus-fdt.c | |
| parent | a6a0a7fb0e327d17594c971b4a39de14e025b415 (diff) | |
| download | focaccia-qemu-31bf15d97dd1d205a3b264675f9a1b3bd1939068.tar.gz focaccia-qemu-31bf15d97dd1d205a3b264675f9a1b3bd1939068.zip | |
block: Let bdrv_co_is_zero_fast consolidate adjacent extents
Some BDS drivers have a cap on how much block status they can supply in one query (for example, NBD talking to an older server cannot inspect more than 4G per query; and qcow2 tends to cap its answers rather than cross a cluster boundary of an L1 table). Although the existing callers of bdrv_co_is_zero_fast are not passing in that large of a 'bytes' parameter, an upcoming caller wants to query the entire image at once, and will thus benefit from being able to treat adjacent zero regions in a coalesced manner, rather than claiming the region is non-zero merely because pnum was truncated and didn't match the incoming bytes. While refactoring this into a loop, note that there is no need to assign pnum prior to calling bdrv_co_common_block_status_above() (it is guaranteed to be assigned deeper in the callstack). Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-ID: <20250509204341.3553601-18-eblake@redhat.com>
Diffstat (limited to 'hw/core/sysbus-fdt.c')
0 files changed, 0 insertions, 0 deletions