On 02/09/2018 01:31 PM, Yasmin Beatriz wrote:
This patch intends to make a more specific message for when
the system has not enough space to save guest memory.
Reported-by: yilzh...@redhat.com
Cc: Jose Ricardo Ziviani <jos...@linux.vnet.ibm.com>
Signed-off-by: Yasmin Beatriz <yasm...@linux.vnet.ibm.com>
---
dump.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/dump.c b/dump.c
index e9dfed060a..eb56ff53f6 100644
--- a/dump.c
+++ b/dump.c
@@ -106,6 +106,9 @@ static int fd_write_vmcore(const void *buf, size_t size,
void *opaque)
written_size = qemu_write_full(s->fd, buf, size);
if (written_size != size) {
+ if (errno == ENOSPC) {
+ return -ENOSPC;
+ }
return -1;
Mixing a return of -1 and negative errno is ugly (as -1 is
indistinguishable from -EPERM on many, but not all, operating systems).
If you need to distinguish between different error types, then return
negative errno in all places.
}
@@ -364,7 +367,11 @@ static void write_data(DumpState *s, void *buf, int length, Error **errp)
ret = fd_write_vmcore(buf, length, s);
if (ret < 0) {
- error_setg(errp, "dump: failed to save memory");
Or, if you really want better error messages, it might make sense to
push errp setting down into fd_write_vmcore() (all callers have to be
updated).
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org