[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [Qemu-devel] [PATCH] dump: Show custom message for EN
From: |
Murilo Opsfelder Araujo |
Subject: |
Re: [Qemu-trivial] [Qemu-devel] [PATCH] dump: Show custom message for ENOSPC |
Date: |
Fri, 9 Feb 2018 18:27:53 -0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
Hi, Yasmin.
Congratulations on your first patch!
On 02/09/2018 05: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: address@hidden
> Cc: Jose Ricardo Ziviani <address@hidden>
> Signed-off-by: Yasmin Beatriz <address@hidden>
> ---
> 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;
> }
>
> @@ -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");
> + if (ret == -ENOSPC) {
> + error_setg(errp, "dump: not enough space to save memory");
> + } else {
> + error_setg(errp, "dump: failed to save memory");
> + }
If fd_write_vmcore() returned -errno, as Daniel Barboza suggested, it
could be used in error_setg_errno(). Something like this:
diff --git a/dump.c b/dump.c
index e9dfed060a..313a7460a7 100644
--- a/dump.c
+++ b/dump.c
@@ -106,7 +106,7 @@ 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) {
- return -1;
+ return -errno;
}
return 0;
@@ -364,7 +364,7 @@ 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");
+ error_setg_errno(errp, ret, "dump: failed to save memory");
} else {
s->written_size += length;
}
With this, other reasons of errno would also be considered, not only ENOSPC.
Cheers
Murilo