[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v7 RESEND 3/8] memory: add parameter errp to mem
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v7 RESEND 3/8] memory: add parameter errp to memory_region_init_ram_ptr |
Date: |
Tue, 09 Sep 2014 13:18:32 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 |
Il 09/09/2014 07:27, Hu Tao ha scritto:
> Add parameter errp to memory_region_init_ram_ptr and update all call
> sites to pass in &error_abort.
>
> Reviewed-by: Peter Crosthwaite <address@hidden>
> Signed-off-by: Hu Tao <address@hidden>
Aborting in VFIO would be wrong, since VFIO devices can be hotplugged.
But actually, ram_block_add can never fail when called from
qemu_ram_alloc_from_ptr, so let's instead do:
diff --git a/exec.c b/exec.c
index 2b9c4c5..0ca73c8 100644
--- a/exec.c
+++ b/exec.c
@@ -1373,7 +1373,7 @@ ram_addr_t qemu_ram_alloc_from_file(ram_addr_t size,
MemoryRegion *mr,
#endif
ram_addr_t qemu_ram_alloc_from_ptr(ram_addr_t size, void *host,
- MemoryRegion *mr, Error **errp)
+ MemoryRegion *mr)
{
RAMBlock *new_block;
ram_addr_t addr;
@@ -1388,13 +1388,7 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_addr_t size, void
*host,
if (host) {
new_block->flags |= RAM_PREALLOC;
}
- addr = ram_block_add(new_block, &local_err);
- if (local_err) {
- g_free(new_block);
- error_propagate(errp, local_err);
- return -1;
- }
- return addr;
+ return ram_block_add(new_block, &error_abort);
}
ram_addr_t qemu_ram_alloc(ram_addr_t size, MemoryRegion *mr, Error **errp)
diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
index cf1d4c7..7c6f80e 100644
--- a/include/exec/ram_addr.h
+++ b/include/exec/ram_addr.h
@@ -26,7 +26,7 @@ ram_addr_t qemu_ram_alloc_from_file(ram_addr_t size,
MemoryRegion *mr,
bool share, const char *mem_path,
Error **errp);
ram_addr_t qemu_ram_alloc_from_ptr(ram_addr_t size, void *host,
- MemoryRegion *mr, Error **errp);
+ MemoryRegion *mr);
ram_addr_t qemu_ram_alloc(ram_addr_t size, MemoryRegion *mr, Error **errp);
int qemu_get_ram_fd(ram_addr_t addr);
void *qemu_get_ram_block_host_ptr(ram_addr_t addr);
- [Qemu-devel] [PATCH v7 RESEND 0/8] memory API improvements and bug fixes for memory backends, Hu Tao, 2014/09/09
- [Qemu-devel] [PATCH v7 RESEND 5/8] hostmem-ram: don't exit qemu if size of memory-backend-ram is way too big, Hu Tao, 2014/09/09
- [Qemu-devel] [PATCH v7 RESEND 6/8] exec: file_ram_alloc: don't exit if failed to preallocate memory, Hu Tao, 2014/09/09
- [Qemu-devel] [PATCH v7 RESEND 7/8] exec: report error when memory < hpagesize, Hu Tao, 2014/09/09
- [Qemu-devel] [PATCH v7 RESEND 8/8] exec: add parameter errp to gethugepagesize, Hu Tao, 2014/09/09
- Re: [Qemu-devel] [PATCH v7 RESEND 0/8] memory API improvements and bug fixes for memory backends, Paolo Bonzini, 2014/09/09