From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: richard.henderson@linaro.org,
"Dr. David Alan Gilbert" <dave@treblig.org>
Subject: [PULL 12/17] error: Use error_setg_file_open() for simplicity and consistency
Date: Wed, 7 Jan 2026 13:43:36 +0100 [thread overview]
Message-ID: <20260107124341.1093312-13-armbru@redhat.com> (raw)
In-Reply-To: <20260107124341.1093312-1-armbru@redhat.com>
Replace
error_setg_errno(errp, errno, MSG, FNAME);
by
error_setg_file_open(errp, errno, FNAME);
where MSG is "Could not open '%s'" or similar.
Also replace equivalent uses of error_setg().
A few messages lose prefixes ("net dump: ", "SEV: ", __func__ ": ").
We could put them back with error_prepend(). Not worth the bother.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dave@treblig.org>
Message-ID: <20251121121438.1249498-11-armbru@redhat.com>
[Conflict with commit 26b4a6ffe7f (monitor/hmp: Merge
hmp-cmds-target.c within hmp-cmds.c) resolved]
---
hw/9pfs/9p-local.c | 2 +-
hw/acpi/core.c | 2 +-
hw/core/loader.c | 2 +-
hw/pci-host/xen_igd_pt.c | 2 +-
monitor/hmp-cmds.c | 2 +-
net/dump.c | 2 +-
net/tap-bsd.c | 6 +++---
net/tap-linux.c | 2 +-
target/i386/sev.c | 6 ++----
util/vfio-helpers.c | 5 ++---
10 files changed, 14 insertions(+), 17 deletions(-)
diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
index 31e216227c..376b377698 100644
--- a/hw/9pfs/9p-local.c
+++ b/hw/9pfs/9p-local.c
@@ -1456,7 +1456,7 @@ static int local_init(FsContext *ctx, Error **errp)
data->mountfd = open(ctx->fs_root, O_DIRECTORY | O_RDONLY);
if (data->mountfd == -1) {
- error_setg_errno(errp, errno, "failed to open '%s'", ctx->fs_root);
+ error_setg_file_open(errp, errno, ctx->fs_root);
goto err;
}
diff --git a/hw/acpi/core.c b/hw/acpi/core.c
index 2b74bed882..4e030d8e3b 100644
--- a/hw/acpi/core.c
+++ b/hw/acpi/core.c
@@ -277,7 +277,7 @@ void acpi_table_add(const QemuOpts *opts, Error **errp)
int fd = open(*cur, O_RDONLY | O_BINARY);
if (fd < 0) {
- error_setg(errp, "can't open file %s: %s", *cur, strerror(errno));
+ error_setg_file_open(errp, errno, *cur);
goto out;
}
diff --git a/hw/core/loader.c b/hw/core/loader.c
index 89d67d2760..16c11a4643 100644
--- a/hw/core/loader.c
+++ b/hw/core/loader.c
@@ -380,7 +380,7 @@ bool load_elf_hdr(const char *filename, void *hdr, bool *is64, Error **errp)
fd = open(filename, O_RDONLY | O_BINARY);
if (fd < 0) {
- error_setg_errno(errp, errno, "Failed to open file: %s", filename);
+ error_setg_file_open(errp, errno, filename);
return false;
}
if (read(fd, hdr, EI_NIDENT) != EI_NIDENT) {
diff --git a/hw/pci-host/xen_igd_pt.c b/hw/pci-host/xen_igd_pt.c
index 5dd17ef236..f6016f2cd5 100644
--- a/hw/pci-host/xen_igd_pt.c
+++ b/hw/pci-host/xen_igd_pt.c
@@ -55,7 +55,7 @@ static void host_pci_config_read(int pos, int len, uint32_t *val, Error **errp)
config_fd = open(path, O_RDWR);
if (config_fd < 0) {
- error_setg_errno(errp, errno, "Failed to open: %s", path);
+ error_setg_file_open(errp, errno, path);
goto out;
}
diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
index f7ff6ec90e..5a673cddb2 100644
--- a/monitor/hmp-cmds.c
+++ b/monitor/hmp-cmds.c
@@ -740,7 +740,7 @@ static uint64_t vtop(void *ptr, Error **errp)
fd = open("/proc/self/pagemap", O_RDONLY);
if (fd == -1) {
- error_setg_errno(errp, errno, "Cannot open /proc/self/pagemap");
+ error_setg_file_open(errp, errno, "/proc/self/pagemap");
return -1;
}
diff --git a/net/dump.c b/net/dump.c
index 581234b775..0c39f09892 100644
--- a/net/dump.c
+++ b/net/dump.c
@@ -111,7 +111,7 @@ static int net_dump_state_init(DumpState *s, const char *filename,
fd = open(filename, O_CREAT | O_TRUNC | O_WRONLY | O_BINARY, 0644);
if (fd < 0) {
- error_setg_errno(errp, errno, "net dump: can't open %s", filename);
+ error_setg_file_open(errp, errno, filename);
return -1;
}
diff --git a/net/tap-bsd.c b/net/tap-bsd.c
index bbf84d1828..3fd300d46f 100644
--- a/net/tap-bsd.c
+++ b/net/tap-bsd.c
@@ -68,7 +68,7 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
}
}
if (fd < 0) {
- error_setg_errno(errp, errno, "could not open %s", dname);
+ error_setg_file_open(errp, errno, dname);
return -1;
}
@@ -118,7 +118,7 @@ static int tap_open_clone(char *ifname, int ifname_size, Error **errp)
fd = RETRY_ON_EINTR(open(PATH_NET_TAP, O_RDWR));
if (fd < 0) {
- error_setg_errno(errp, errno, "could not open %s", PATH_NET_TAP);
+ error_setg_file_open(errp, errno, PATH_NET_TAP);
return -1;
}
@@ -166,7 +166,7 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
snprintf(dname, sizeof dname, "/dev/%s", ifname);
fd = RETRY_ON_EINTR(open(dname, O_RDWR));
if (fd < 0 && errno != ENOENT) {
- error_setg_errno(errp, errno, "could not open %s", dname);
+ error_setg_file_open(errp, errno, dname);
return -1;
}
}
diff --git a/net/tap-linux.c b/net/tap-linux.c
index 2a90b58467..909c4f1fcf 100644
--- a/net/tap-linux.c
+++ b/net/tap-linux.c
@@ -57,7 +57,7 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
if (fd < 0) {
fd = RETRY_ON_EINTR(open(PATH_NET_TUN, O_RDWR));
if (fd < 0) {
- error_setg_errno(errp, errno, "could not open %s", PATH_NET_TUN);
+ error_setg_file_open(errp, errno, PATH_NET_TUN);
return -1;
}
}
diff --git a/target/i386/sev.c b/target/i386/sev.c
index fb5a3b5d77..1d70f96ec1 100644
--- a/target/i386/sev.c
+++ b/target/i386/sev.c
@@ -892,8 +892,7 @@ static SevCapability *sev_get_capabilities(Error **errp)
fd = open(sev_device, O_RDWR);
if (fd < 0) {
- error_setg_errno(errp, errno, "SEV: Failed to open %s",
- sev_device);
+ error_setg_file_open(errp, errno, sev_device);
g_free(sev_device);
return NULL;
}
@@ -1820,8 +1819,7 @@ static int sev_common_kvm_init(ConfidentialGuestSupport *cgs, Error **errp)
devname = object_property_get_str(OBJECT(sev_common), "sev-device", NULL);
sev_common->sev_fd = open(devname, O_RDWR);
if (sev_common->sev_fd < 0) {
- error_setg(errp, "%s: Failed to open %s '%s'", __func__,
- devname, strerror(errno));
+ error_setg_file_open(errp, errno, devname);
g_free(devname);
return -1;
}
diff --git a/util/vfio-helpers.c b/util/vfio-helpers.c
index 44b457c442..c619516163 100644
--- a/util/vfio-helpers.c
+++ b/util/vfio-helpers.c
@@ -309,7 +309,7 @@ static int qemu_vfio_init_pci(QEMUVFIOState *s, const char *device,
s->container = open("/dev/vfio/vfio", O_RDWR);
if (s->container == -1) {
- error_setg_errno(errp, errno, "Failed to open /dev/vfio/vfio");
+ error_setg_file_open(errp, errno, "/dev/vfio/vfio");
return -errno;
}
if (ioctl(s->container, VFIO_GET_API_VERSION) != VFIO_API_VERSION) {
@@ -333,8 +333,7 @@ static int qemu_vfio_init_pci(QEMUVFIOState *s, const char *device,
s->group = open(group_file, O_RDWR);
if (s->group == -1) {
- error_setg_errno(errp, errno, "Failed to open VFIO group file: %s",
- group_file);
+ error_setg_file_open(errp, errno, group_file);
g_free(group_file);
ret = -errno;
goto fail_container;
--
2.52.0
next prev parent reply other threads:[~2026-01-07 13:24 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-07 12:43 [PULL 00/17] Error reporting patches for 2026-01-07 Markus Armbruster
2026-01-07 12:43 ` [PULL 01/17] hw/core/loader: Make load_elf_hdr() return bool, simplify caller Markus Armbruster
2026-01-07 12:43 ` [PULL 02/17] hw/nvram/xlnx-bbram: More idiomatic and simpler error reporting Markus Armbruster
2026-01-07 12:43 ` [PULL 03/17] nbd/client-connection: Replace error_propagate() by assignment Markus Armbruster
2026-01-07 12:43 ` [PULL 04/17] error: error_free(NULL) is safe, drop unnecessary conditionals Markus Armbruster
2026-01-07 12:43 ` [PULL 05/17] error: Consistently name Error * objects err, and not errp Markus Armbruster
2026-01-07 12:43 ` [PULL 06/17] error: Strip trailing '\n' from error string arguments (again) Markus Armbruster
2026-01-07 12:43 ` [PULL 07/17] ui: Convert to qemu_create() for simplicity and consistency Markus Armbruster
2026-01-07 12:43 ` [PULL 08/17] tap-solaris: Use error_setg_file_open() for better error messages Markus Armbruster
2026-01-07 12:43 ` [PULL 09/17] qga: " Markus Armbruster
2026-01-07 12:43 ` [PULL 10/17] net/tap: Use error_setg_file_open() for a better error message Markus Armbruster
2026-01-07 12:43 ` [PULL 11/17] blkdebug: " Markus Armbruster
2026-01-07 12:43 ` Markus Armbruster [this message]
2026-01-07 12:43 ` [PULL 13/17] net/slirp: Improve file open " Markus Armbruster
2026-01-07 12:43 ` [PULL 14/17] error: Use error_setg_errno() to improve error messages Markus Armbruster
2026-01-08 4:15 ` Richard Henderson
2026-01-08 6:55 ` Markus Armbruster
2026-01-07 12:43 ` [PULL 15/17] error: Use error_setg_errno() for simplicity and consistency Markus Armbruster
2026-01-07 12:43 ` [PULL 16/17] qga/commands-win32: Use error_setg_win32() for better error messages Markus Armbruster
2026-01-07 12:43 ` [PULL 17/17] block/file-win32: Improve an error message Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260107124341.1093312-13-armbru@redhat.com \
--to=armbru@redhat.com \
--cc=dave@treblig.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.