[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 04/10] dump: Rework get_start_block
From: |
marcandre . lureau |
Subject: |
[PULL 04/10] dump: Rework get_start_block |
Date: |
Thu, 6 Oct 2022 19:34:23 +0400 |
From: Janosch Frank <frankja@linux.ibm.com>
get_start_block() returns the start address of the first memory block
or -1.
With the GuestPhysBlock iterator conversion we don't need to set the
start address and can therefore remove that code and the "start"
DumpState struct member. The only functionality left is the validation
of the start block so it only makes sense to re-name the function to
validate_start_block()
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Message-Id: <20220811121111.9878-5-frankja@linux.ibm.com>
---
include/sysemu/dump.h | 2 --
dump/dump.c | 20 ++++++--------------
2 files changed, 6 insertions(+), 16 deletions(-)
diff --git a/include/sysemu/dump.h b/include/sysemu/dump.h
index ffc2ea1072..7fce1d4af6 100644
--- a/include/sysemu/dump.h
+++ b/include/sysemu/dump.h
@@ -166,8 +166,6 @@ typedef struct DumpState {
hwaddr memory_offset;
int fd;
- GuestPhysBlock *next_block;
- ram_addr_t start;
bool has_filter;
int64_t begin;
int64_t length;
diff --git a/dump/dump.c b/dump/dump.c
index 340de5a1e7..e204912a89 100644
--- a/dump/dump.c
+++ b/dump/dump.c
@@ -1500,30 +1500,22 @@ static void create_kdump_vmcore(DumpState *s, Error
**errp)
}
}
-static ram_addr_t get_start_block(DumpState *s)
+static int validate_start_block(DumpState *s)
{
GuestPhysBlock *block;
if (!s->has_filter) {
- s->next_block = QTAILQ_FIRST(&s->guest_phys_blocks.head);
return 0;
}
QTAILQ_FOREACH(block, &s->guest_phys_blocks.head, next) {
+ /* This block is out of the range */
if (block->target_start >= s->begin + s->length ||
block->target_end <= s->begin) {
- /* This block is out of the range */
continue;
}
-
- s->next_block = block;
- if (s->begin > block->target_start) {
- s->start = s->begin - block->target_start;
- } else {
- s->start = 0;
- }
- return s->start;
- }
+ return 0;
+ }
return -1;
}
@@ -1670,8 +1662,8 @@ static void dump_init(DumpState *s, int fd, bool
has_format,
goto cleanup;
}
- s->start = get_start_block(s);
- if (s->start == -1) {
+ /* Is the filter filtering everything? */
+ if (validate_start_block(s) == -1) {
error_setg(errp, QERR_INVALID_PARAMETER, "begin");
goto cleanup;
}
--
2.37.3
- [PULL 00/10] Dump patches, marcandre . lureau, 2022/10/06
- [PULL 01/10] dump: Replace opaque DumpState pointer with a typed one, marcandre . lureau, 2022/10/06
- [PULL 03/10] dump: Refactor dump_iterate and introduce dump_filter_memblock_*(), marcandre . lureau, 2022/10/06
- [PULL 02/10] dump: Rename write_elf_loads to write_elf_phdr_loads, marcandre . lureau, 2022/10/06
- [PULL 05/10] dump: Rework filter area variables, marcandre . lureau, 2022/10/06
- [PULL 04/10] dump: Rework get_start_block,
marcandre . lureau <=
- [PULL 06/10] dump: Rework dump_calculate_size function, marcandre . lureau, 2022/10/06
- [PULL 07/10] dump: Split elf header functions into prepare and write, marcandre . lureau, 2022/10/06
- [PULL 10/10] dump: fix kdump to work over non-aligned blocks, marcandre . lureau, 2022/10/06
- [PULL 08/10] dump: Rename write_elf*_phdr_note to prepare_elf*_phdr_note, marcandre . lureau, 2022/10/06
- [PULL 09/10] dump: simplify a bit kdump get_next_page(), marcandre . lureau, 2022/10/06
- Re: [PULL 00/10] Dump patches, Stefan Hajnoczi, 2022/10/11