dump: make range overlap check more readable

use ranges_overlap() instead of open-coding the overlap check to improve
the readability of the code.

Signed-off-by: Yao Xingtao <yaoxt.fnst@fujitsu.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20240722040742.11513-13-yaoxt.fnst@fujitsu.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
Yao Xingtao 2024-07-22 00:07:41 -04:00 committed by Philippe Mathieu-Daudé
parent 7cd9b9d476
commit 1aef44805d

View File

@ -30,6 +30,7 @@
#include "migration/blocker.h" #include "migration/blocker.h"
#include "hw/core/cpu.h" #include "hw/core/cpu.h"
#include "win_dump.h" #include "win_dump.h"
#include "qemu/range.h"
#include <zlib.h> #include <zlib.h>
#ifdef CONFIG_LZO #ifdef CONFIG_LZO
@ -574,8 +575,10 @@ static void get_offset_range(hwaddr phys_addr,
QTAILQ_FOREACH(block, &s->guest_phys_blocks.head, next) { QTAILQ_FOREACH(block, &s->guest_phys_blocks.head, next) {
if (dump_has_filter(s)) { if (dump_has_filter(s)) {
if (block->target_start >= s->filter_area_begin + s->filter_area_length || if (!ranges_overlap(block->target_start,
block->target_end <= s->filter_area_begin) { block->target_end - block->target_start,
s->filter_area_begin,
s->filter_area_length)) {
/* This block is out of the range */ /* This block is out of the range */
continue; continue;
} }
@ -734,8 +737,9 @@ int64_t dump_filtered_memblock_start(GuestPhysBlock *block,
{ {
if (filter_area_length) { if (filter_area_length) {
/* return -1 if the block is not within filter area */ /* return -1 if the block is not within filter area */
if (block->target_start >= filter_area_start + filter_area_length || if (!ranges_overlap(block->target_start,
block->target_end <= filter_area_start) { block->target_end - block->target_start,
filter_area_start, filter_area_length)) {
return -1; return -1;
} }