[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 04/15] net/dump: Improve -net/host_net_add dump erro
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH 04/15] net/dump: Improve -net/host_net_add dump error reporting |
Date: |
Tue, 12 May 2015 14:02:56 +0200 |
When -net dump fails, it first reports a specific error, then a
generic one, like this:
$ qemu-system-x86_64 -net dump,id=foo,file=/eperm
qemu-system-x86_64: -net dump,id=foo,file=/eperm: -net dump: can't open
/eperm
qemu-system-x86_64: -net dump,id=foo,file=/eperm: Device 'dump' could not
be initialized
Convert net_init_tap() to Error. This suppresses the unwanted second
message.
Signed-off-by: Markus Armbruster <address@hidden>
---
net/dump.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/net/dump.c b/net/dump.c
index 214e88a..02c8064 100644
--- a/net/dump.c
+++ b/net/dump.c
@@ -101,7 +101,8 @@ static NetClientInfo net_dump_info = {
};
static int net_dump_init(NetClientState *peer, const char *device,
- const char *name, const char *filename, int len)
+ const char *name, const char *filename, int len,
+ Error **errp)
{
struct pcap_file_hdr hdr;
NetClientState *nc;
@@ -111,7 +112,7 @@ static int net_dump_init(NetClientState *peer, const char
*device,
fd = open(filename, O_CREAT | O_TRUNC | O_WRONLY | O_BINARY, 0644);
if (fd < 0) {
- error_report("-net dump: can't open %s", filename);
+ error_setg_errno(errp, errno, "-net dump: can't open %s", filename);
return -1;
}
@@ -124,7 +125,7 @@ static int net_dump_init(NetClientState *peer, const char
*device,
hdr.linktype = 1;
if (write(fd, &hdr, sizeof(hdr)) < sizeof(hdr)) {
- error_report("-net dump write error: %s", strerror(errno));
+ error_setg_errno(errp, errno, "-net dump write error");
close(fd);
return -1;
}
@@ -148,7 +149,6 @@ static int net_dump_init(NetClientState *peer, const char
*device,
int net_init_dump(const NetClientOptions *opts, const char *name,
NetClientState *peer, Error **errp)
{
- /* FIXME error_setg(errp, ...) on failure */
int len;
const char *file;
char def_file[128];
@@ -174,7 +174,7 @@ int net_init_dump(const NetClientOptions *opts, const char
*name,
if (dump->has_len) {
if (dump->len > INT_MAX) {
- error_report("invalid length: %"PRIu64, dump->len);
+ error_setg(errp, "invalid length: %"PRIu64, dump->len);
return -1;
}
len = dump->len;
@@ -182,5 +182,5 @@ int net_init_dump(const NetClientOptions *opts, const char
*name,
len = 65536;
}
- return net_dump_init(peer, "dump", name, file, len);
+ return net_dump_init(peer, "dump", name, file, len, errp);
}
--
1.9.3
- [Qemu-devel] [PATCH 00/15] net: Improve error reporting, Markus Armbruster, 2015/05/12
- [Qemu-devel] [PATCH 04/15] net/dump: Improve -net/host_net_add dump error reporting,
Markus Armbruster <=
- [Qemu-devel] [PATCH 03/15] net: Improve -net nic error reporting, Markus Armbruster, 2015/05/12
- [Qemu-devel] [PATCH 07/15] tap: Convert tap_set_sndbuf() to Error, Markus Armbruster, 2015/05/12
- [Qemu-devel] [PATCH 05/15] tap: net_tap_fd_init() can't fail, drop dead error handling, Markus Armbruster, 2015/05/12
- [Qemu-devel] [PATCH 06/15] tap: Improve -netdev/netdev_add/-net/... bridge error reporting, Markus Armbruster, 2015/05/12