[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 02/17] dump: simplify write_start_flat_header()
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] [PULL 02/17] dump: simplify write_start_flat_header() |
Date: |
Wed, 11 Jun 2014 10:50:47 -0400 |
From: Laszlo Ersek <address@hidden>
Currently, the function
- defines and populates an auto variable of type MakedumpfileHeader
- allocates and zeroes a buffer of size MAX_SIZE_MDF_HEADER (4096)
- copies the former into the latter (covering an initial portion of the
latter)
Fill in the MakedumpfileHeader structure in its final place (the alignment
is OK because the structure lives at the address returned by g_malloc0()).
Approximately-suggested-by: Luiz Capitulino <address@hidden>
Signed-off-by: Laszlo Ersek <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Luiz Capitulino <address@hidden>
---
dump.c | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/dump.c b/dump.c
index ac4505e..6dec8d2 100644
--- a/dump.c
+++ b/dump.c
@@ -711,27 +711,25 @@ static int create_vmcore(DumpState *s)
static int write_start_flat_header(int fd)
{
- uint8_t *buf;
- MakedumpfileHeader mh;
+ MakedumpfileHeader *mh;
int ret = 0;
- memset(&mh, 0, sizeof(mh));
- memcpy(mh.signature, MAKEDUMPFILE_SIGNATURE,
- MIN(sizeof mh.signature, sizeof MAKEDUMPFILE_SIGNATURE));
+ QEMU_BUILD_BUG_ON(sizeof *mh > MAX_SIZE_MDF_HEADER);
+ mh = g_malloc0(MAX_SIZE_MDF_HEADER);
- mh.type = cpu_to_be64(TYPE_FLAT_HEADER);
- mh.version = cpu_to_be64(VERSION_FLAT_HEADER);
+ memcpy(mh->signature, MAKEDUMPFILE_SIGNATURE,
+ MIN(sizeof mh->signature, sizeof MAKEDUMPFILE_SIGNATURE));
- buf = g_malloc0(MAX_SIZE_MDF_HEADER);
- memcpy(buf, &mh, sizeof(mh));
+ mh->type = cpu_to_be64(TYPE_FLAT_HEADER);
+ mh->version = cpu_to_be64(VERSION_FLAT_HEADER);
size_t written_size;
- written_size = qemu_write_full(fd, buf, MAX_SIZE_MDF_HEADER);
+ written_size = qemu_write_full(fd, mh, MAX_SIZE_MDF_HEADER);
if (written_size != MAX_SIZE_MDF_HEADER) {
ret = -1;
}
- g_free(buf);
+ g_free(mh);
return ret;
}
--
1.9.3
- [Qemu-devel] [PULL 00/17] QMP queue, Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 07/17] dump: simplify get_len_buf_out(), Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 09/17] monitor: Add watchdog_action argument completion, Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 13/17] readline: Make completion strings always unique, Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 01/17] dump: fill in the flat header signature more pleasingly to the eye, Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 08/17] monitor: Add ringbuf_write and ringbuf_read argument completion, Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 02/17] dump: simplify write_start_flat_header(),
Luiz Capitulino <=
- [Qemu-devel] [PULL 06/17] dump: hoist lzo_init() from get_len_buf_out() to dump_init(), Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 11/17] net: Export valid host network devices list, Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 12/17] monitor: Add host_net_add device argument completion, Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 05/17] dump: select header bitness based on ELF class, not ELF architecture, Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 04/17] dump: eliminate DumpState.page_size ("guest's page size"), Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 10/17] monitor: Add migrate_set_capability completion, Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 03/17] dump: eliminate DumpState.page_shift ("guest's page shift"), Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 16/17] readline: Clear screen on form feed., Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 15/17] monitor: Add delvm and loadvm argument completion, Luiz Capitulino, 2014/06/11
- [Qemu-devel] [PULL 14/17] monitor: Add host_net_remove arguments completion, Luiz Capitulino, 2014/06/11