Use error_setg_errno() instead of passing the value of strerror() or
g_strerror() to error_setg().
The separator between the error message proper and the value of
strerror() changes from " : ", "", " - ", "- " to ": " in places.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
backends/spdm-socket.c | 4 ++--
backends/tpm/tpm_emulator.c | 13 +++++--------
hw/9pfs/9p.c | 3 +--
hw/acpi/core.c | 3 +--
hw/intc/openpic_kvm.c | 3 +--
hw/intc/xics_kvm.c | 5 +++--
hw/remote/vfio-user-obj.c | 18 +++++++++---------
hw/sensor/emc141x.c | 4 ++--
hw/sensor/tmp421.c | 4 ++--
hw/smbios/smbios.c | 4 ++--
hw/virtio/vdpa-dev.c | 4 ++--
migration/postcopy-ram.c | 10 +++++-----
migration/rdma.c | 2 +-
net/slirp.c | 5 +++--
qga/commands-posix-ssh.c | 23 +++++++++++++----------
system/vl.c | 2 +-
target/ppc/kvm.c | 5 ++---
17 files changed, 55 insertions(+), 57 deletions(-)
diff --git a/backends/spdm-socket.c b/backends/spdm-socket.c
index 6d8f02d3b9..a12bc47f77 100644
--- a/backends/spdm-socket.c
+++ b/backends/spdm-socket.c
@@ -167,7 +167,7 @@ int spdm_socket_connect(uint16_t port, Error **errp)
client_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (client_socket < 0) {
- error_setg(errp, "cannot create socket: %s", strerror(errno));
+ error_setg_errno(errp, errno, "cannot create socket");
return -1;
}
@@ -179,7 +179,7 @@ int spdm_socket_connect(uint16_t port, Error **errp)
if (connect(client_socket, (struct sockaddr *)&server_addr,
sizeof(server_addr)) < 0) {
- error_setg(errp, "cannot connect: %s", strerror(errno));
+ error_setg_errno(errp, errno, "cannot connect");
close(client_socket);
return -1;
}
diff --git a/backends/tpm/tpm_emulator.c b/backends/tpm/tpm_emulator.c
index f10b9074fb..f52cb4d435 100644
--- a/backends/tpm/tpm_emulator.c
+++ b/backends/tpm/tpm_emulator.c
@@ -225,8 +225,7 @@ static int tpm_emulator_set_locality(TPMEmulator *tpm_emu, uint8_t locty_number,
if (tpm_emulator_ctrlcmd(tpm_emu, CMD_SET_LOCALITY, &loc,
sizeof(loc), sizeof(loc.u.resp.tpm_result),
sizeof(loc)) < 0) {
- error_setg(errp, "tpm-emulator: could not set locality : %s",
- strerror(errno));
+ error_setg_errno(errp, errno, "tpm-emulator: could not set locality");
return -1;
}
@@ -315,8 +314,7 @@ static int tpm_emulator_stop_tpm(TPMBackend *tb, Error **errp)
if (tpm_emulator_ctrlcmd(tpm_emu, CMD_STOP, &res, 0,
sizeof(ptm_res), sizeof(res)) < 0) {
- error_setg(errp, "tpm-emulator: Could not stop TPM: %s",
- strerror(errno));
+ error_setg_errno(errp, errno, "tpm-emulator: Could not stop TPM");
return -1;
}
@@ -377,8 +375,8 @@ static int tpm_emulator_set_buffer_size(TPMBackend *tb,
if (tpm_emulator_ctrlcmd(tpm_emu, CMD_SET_BUFFERSIZE, &psbs,
sizeof(psbs.u.req), sizeof(psbs.u.resp.tpm_result),
sizeof(psbs.u.resp)) < 0) {
- error_setg(errp, "tpm-emulator: Could not set buffer size: %s",
- strerror(errno));
+ error_setg_errno(errp, errno,
+ "tpm-emulator: Could not set buffer size");
return -1;
}
@@ -426,8 +424,7 @@ static int tpm_emulator_startup_tpm_resume(TPMBackend *tb, size_t buffersize,
if (tpm_emulator_ctrlcmd(tpm_emu, CMD_INIT, &init, sizeof(init),
sizeof(init.u.resp.tpm_result),
sizeof(init)) < 0) {
- error_setg(errp, "tpm-emulator: could not send INIT: %s",
- strerror(errno));
+ error_setg_errno(errp, errno, "tpm-emulator: could not send INIT");
goto err_exit;
}
diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
index bc4a016ee3..6fbe604ce8 100644
--- a/hw/9pfs/9p.c
+++ b/hw/9pfs/9p.c
@@ -4345,8 +4345,7 @@ int v9fs_device_realize_common(V9fsState *s, const V9fsTransport *t,
* use co-routines here.
*/
if (s->ops->name_to_path(&s->ctx, NULL, "/", &path) < 0) {
- error_setg(errp,
- "error in converting name to path %s", strerror(errno));
+ error_setg_errno(errp, errno, "error in converting name to path");
goto out;
}
if (s->ops->lstat(&s->ctx, &path, &stat)) {
diff --git a/hw/acpi/core.c b/hw/acpi/core.c
index d2677332af..82974eb257 100644
--- a/hw/acpi/core.c
+++ b/hw/acpi/core.c
@@ -293,8 +293,7 @@ void acpi_table_add(const QemuOpts *opts, Error **errp)
memcpy(blob + bloblen, data, r);
bloblen += r;
} else if (errno != EINTR) {
- error_setg(errp, "can't read file %s: %s", *cur,
- strerror(errno));
+ error_setg_errno(errp, errno, "can't read file %s", *cur);
close(fd);
goto out;
}
diff --git a/hw/intc/openpic_kvm.c b/hw/intc/openpic_kvm.c
index 673ea9ca05..0c11bbc963 100644
--- a/hw/intc/openpic_kvm.c
+++ b/hw/intc/openpic_kvm.c
@@ -223,8 +223,7 @@ static void kvm_openpic_realize(DeviceState *dev, Error **errp)
cd.type = kvm_openpic_model;
ret = kvm_vm_ioctl(s, KVM_CREATE_DEVICE, &cd);
if (ret < 0) {
- error_setg(errp, "Can't create device %d: %s",
- cd.type, strerror(errno));
+ error_setg_errno(errp, errno, "Can't create device %d", cd.type);
return;
}
opp->fd = cd.fd;
diff --git a/hw/intc/xics_kvm.c b/hw/intc/xics_kvm.c
index ee72969f5f..61f66d1019 100644
--- a/hw/intc/xics_kvm.c
+++ b/hw/intc/xics_kvm.c
@@ -165,8 +165,9 @@ void icp_kvm_realize(DeviceState *dev, Error **errp)
if (ret < 0) {
Error *local_err = NULL;
- error_setg(&local_err, "Unable to connect CPU%ld to kernel XICS: %s",
- vcpu_id, strerror(errno));
+ error_setg_errno(&local_err, errno,
+ "Unable to connect CPU%ld to kernel XICS",
+ vcpu_id);
if (errno == ENOSPC) {
error_append_hint(&local_err, "Try -smp maxcpus=N with N < %u\n",
MACHINE(qdev_get_machine())->smp.max_cpus);
diff --git a/hw/remote/vfio-user-obj.c b/hw/remote/vfio-user-obj.c
index 216b4876e2..9ab02b7abc 100644
--- a/hw/remote/vfio-user-obj.c
+++ b/hw/remote/vfio-user-obj.c
@@ -751,7 +751,7 @@ static void vfu_object_init_ctx(VfuObject *o, Error **errp)
LIBVFIO_USER_FLAG_ATTACH_NB,
o, VFU_DEV_TYPE_PCI);
if (o->vfu_ctx == NULL) {
- error_setg(errp, "vfu: Failed to create context - %s", strerror(errno));
+ error_setg_errno(errp, errno, "vfu: Failed to create context");
return;
}
@@ -776,9 +776,9 @@ static void vfu_object_init_ctx(VfuObject *o, Error **errp)
ret = vfu_pci_init(o->vfu_ctx, pci_type, PCI_HEADER_TYPE_NORMAL, 0);
if (ret < 0) {
- error_setg(errp,
- "vfu: Failed to attach PCI device %s to context - %s",
- o->device, strerror(errno));
+ error_setg_errno(errp, errno,
+ "vfu: Failed to attach PCI device %s to context",
+ o->device);
goto fail;
}
@@ -792,9 +792,9 @@ static void vfu_object_init_ctx(VfuObject *o, Error **errp)
VFU_REGION_FLAG_RW | VFU_REGION_FLAG_ALWAYS_CB,
NULL, 0, -1, 0);
if (ret < 0) {
- error_setg(errp,
- "vfu: Failed to setup config space handlers for %s- %s",
- o->device, strerror(errno));
+ error_setg_errno(errp,
+ "vfu: Failed to setup config space handlers for %s",
+ o->device);
goto fail;
}
@@ -822,8 +822,8 @@ static void vfu_object_init_ctx(VfuObject *o, Error **errp)
ret = vfu_realize_ctx(o->vfu_ctx);
if (ret < 0) {
- error_setg(errp, "vfu: Failed to realize device %s- %s",
- o->device, strerror(errno));
+ error_setg_errno(errp, "vfu: Failed to realize device %s",
+ o->device);
goto fail;
}
diff --git a/hw/sensor/emc141x.c b/hw/sensor/emc141x.c
index 7b2ce383a1..a51fc44395 100644
--- a/hw/sensor/emc141x.c
+++ b/hw/sensor/emc141x.c
@@ -59,7 +59,7 @@ static void emc141x_get_temperature(Object *obj, Visitor *v, const char *name,
unsigned tempid;
if (sscanf(name, "temperature%u", &tempid) != 1) {
- error_setg(errp, "error reading %s: %s", name, g_strerror(errno));
+ error_setg_errno(errp, errno, "error reading %s", name);
return;
}
@@ -86,7 +86,7 @@ static void emc141x_set_temperature(Object *obj, Visitor *v, const char *name,
}
if (sscanf(name, "temperature%u", &tempid) != 1) {
- error_setg(errp, "error reading %s: %s", name, g_strerror(errno));
+ error_setg_errno(errp, errno, "error reading %s", name);
return;
}
diff --git a/hw/sensor/tmp421.c b/hw/sensor/tmp421.c
index 3421c44086..127edd0ba5 100644
--- a/hw/sensor/tmp421.c
+++ b/hw/sensor/tmp421.c
@@ -117,7 +117,7 @@ static void tmp421_get_temperature(Object *obj, Visitor *v, const char *name,
int tempid;
if (sscanf(name, "temperature%d", &tempid) != 1) {
- error_setg(errp, "error reading %s: %s", name, g_strerror(errno));
+ error_setg_errno(errp, errno, "error reading %s", name);
return;
}
@@ -154,7 +154,7 @@ static void tmp421_set_temperature(Object *obj, Visitor *v, const char *name,
}
if (sscanf(name, "temperature%d", &tempid) != 1) {
- error_setg(errp, "error reading %s: %s", name, g_strerror(errno));
+ error_setg_errno(errp, errno, "error reading %s", name);
return;
}
diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c
index 7558b2ad83..b228f9eb85 100644
--- a/hw/smbios/smbios.c
+++ b/hw/smbios/smbios.c
@@ -1281,8 +1281,8 @@ static int save_opt_one(void *opaque,
break;
}
if (ret < 0) {
- error_setg(errp, "Unable to read from %s: %s",
- value, strerror(errno));
+ error_setg_errno(errp, errno, "Unable to read from %s",
+ value);
qemu_close(fd);
return -1;
}
diff --git a/hw/virtio/vdpa-dev.c b/hw/virtio/vdpa-dev.c
index 4a7b970976..f97d576171 100644
--- a/hw/virtio/vdpa-dev.c
+++ b/hw/virtio/vdpa-dev.c
@@ -41,8 +41,8 @@ vhost_vdpa_device_get_u32(int fd, unsigned long int cmd, Error **errp)
uint32_t val = (uint32_t)-1;
if (ioctl(fd, cmd, &val) < 0) {
- error_setg(errp, "vhost-vdpa-device: cmd 0x%lx failed: %s",
- cmd, strerror(errno));
+ error_setg_errno(errp, errno, "vhost-vdpa-device: cmd 0x%lx failed",
+ cmd);
}
return val;
diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
index 3f98dcb6fd..5454372ac6 100644
--- a/migration/postcopy-ram.c
+++ b/migration/postcopy-ram.c
@@ -582,7 +582,7 @@ bool postcopy_ram_supported_by_host(MigrationIncomingState *mis, Error **errp)
ufd = uffd_open(O_CLOEXEC);
if (ufd == -1) {
- error_setg(errp, "Userfaultfd not available: %s", strerror(errno));
+ error_setg_errno(errp, errno, "Userfaultfd not available");
goto out;
}
@@ -620,7 +620,7 @@ bool postcopy_ram_supported_by_host(MigrationIncomingState *mis, Error **errp)
* it was enabled.
*/
if (munlockall()) {
- error_setg(errp, "munlockall() failed: %s", strerror(errno));
+ error_setg_errno(errp, errno, "munlockall() failed");
goto out;
}
@@ -632,7 +632,7 @@ bool postcopy_ram_supported_by_host(MigrationIncomingState *mis, Error **errp)
testarea = mmap(NULL, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE |
MAP_ANONYMOUS, -1, 0);
if (testarea == MAP_FAILED) {
- error_setg(errp, "Failed to map test area: %s", strerror(errno));
+ error_setg_errno(errp, errno, "Failed to map test area");
goto out;
}
g_assert(QEMU_PTR_IS_ALIGNED(testarea, pagesize));
@@ -642,14 +642,14 @@ bool postcopy_ram_supported_by_host(MigrationIncomingState *mis, Error **errp)
reg_struct.mode = UFFDIO_REGISTER_MODE_MISSING;
if (ioctl(ufd, UFFDIO_REGISTER, ®_struct)) {
- error_setg(errp, "UFFDIO_REGISTER failed: %s", strerror(errno));
+ error_setg_errno(errp, errno, "UFFDIO_REGISTER failed");
goto out;
}
range_struct.start = (uintptr_t)testarea;
range_struct.len = pagesize;
if (ioctl(ufd, UFFDIO_UNREGISTER, &range_struct)) {
- error_setg(errp, "UFFDIO_UNREGISTER failed: %s", strerror(errno));
+ error_setg_errno(errp, errno, "UFFDIO_UNREGISTER failed");
goto out;
}
diff --git a/migration/rdma.c b/migration/rdma.c
index ef4885ef5f..9e301cf917 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -2349,7 +2349,7 @@ static int qemu_get_cm_event_timeout(RDMAContext *rdma,
error_setg(errp, "RDMA ERROR: poll cm event timeout");
return -1;
} else if (ret < 0) {
- error_setg_errno(errp, "RDMA ERROR: failed to poll cm event");
+ error_setg_errno(errp, errno, "RDMA ERROR: failed to poll cm event");
return -1;
} else if (poll_fd.revents & POLLIN) {
if (rdma_get_cm_event(rdma->channel, cm_event) < 0) {
diff --git a/net/slirp.c b/net/slirp.c
index 5996fec512..04925f3318 100644
--- a/net/slirp.c
+++ b/net/slirp.c
@@ -1020,8 +1020,9 @@ static int slirp_smb(SlirpState* s, const char *exported_dir,
}
if (access(exported_dir, R_OK | X_OK)) {
- error_setg(errp, "Error accessing shared directory '%s': %s",
- exported_dir, strerror(errno));
+ error_setg_errno(errp, errno,
+ "Error accessing shared directory '%s'",
+ exported_dir);
return -1;
}
diff --git a/qga/commands-posix-ssh.c b/qga/commands-posix-ssh.c
index 246171d323..661972e34e 100644
--- a/qga/commands-posix-ssh.c
+++ b/qga/commands-posix-ssh.c
@@ -61,20 +61,22 @@ mkdir_for_user(const char *path, const struct passwd *p,
mode_t mode, Error **errp)
{
if (g_mkdir(path, mode) == -1) {
- error_setg(errp, "failed to create directory '%s': %s",
- path, g_strerror(errno));
+ error_setg_errno(errp, errno, "failed to create directory '%s'",
+ path);
return false;
}
if (chown(path, p->pw_uid, p->pw_gid) == -1) {
- error_setg(errp, "failed to set ownership of directory '%s': %s",
- path, g_strerror(errno));
+ error_setg_errno(errp, errno,
+ "failed to set ownership of directory '%s'",
+ path);
return false;
}
if (chmod(path, mode) == -1) {
- error_setg(errp, "failed to set permissions of directory '%s': %s",
- path, g_strerror(errno));
+ error_setg_errno(errp, errno,
+ "failed to set permissions of directory '%s'",
+ path);
return false;
}
@@ -95,14 +97,15 @@ write_authkeys(const char *path, const GStrv keys,
}
if (chown(path, p->pw_uid, p->pw_gid) == -1) {
- error_setg(errp, "failed to set ownership of directory '%s': %s",
- path, g_strerror(errno));
+ error_setg_errno(errp, errno,
+ "failed to set ownership of directory '%s'",
+ path);
return false;
}
if (chmod(path, 0600) == -1) {
- error_setg(errp, "failed to set permissions of '%s': %s",
- path, g_strerror(errno));
+ error_setg_errno(errp, errno, "failed to set permissions of '%s'",
+ path);
return false;
}
diff --git a/system/vl.c b/system/vl.c
index 5091fe52d9..2ef5b4b3b2 100644
--- a/system/vl.c
+++ b/system/vl.c
@@ -619,7 +619,7 @@ static int parse_add_fd(void *opaque, QemuOpts *opts, Error **errp)
}
#endif
if (dupfd == -1) {
- error_setg(errp, "error duplicating fd: %s", strerror(errno));
+ error_setg_errno(errp, errno, "error duplicating fd");
return -1;
}
diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
index 43124bf1c7..3501b5d546 100644
--- a/target/ppc/kvm.c
+++ b/target/ppc/kvm.c
@@ -2699,9 +2699,8 @@ int kvmppc_get_htab_fd(bool write, uint64_t index, Error **errp)
ret = kvm_vm_ioctl(kvm_state, KVM_PPC_GET_HTAB_FD, &s);
if (ret < 0) {
- error_setg(errp, "Unable to open fd for %s HPT %s KVM: %s",
- write ? "writing" : "reading", write ? "to" : "from",
- strerror(errno));
+ error_setg_errno(errp, errno, "Unable to open fd for %s HPT %s KVM",
+ write ? "writing" : "reading", write ? "to" : "from");
return -errno;
}
--
2.49.0
* Markus Armbruster (armbru@redhat.com) wrote:
> Use error_setg_errno() instead of passing the value of strerror() or
> g_strerror() to error_setg().
>
> The separator between the error message proper and the value of
> strerror() changes from " : ", "", " - ", "- " to ": " in places.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> @@ -792,9 +792,9 @@ static void vfu_object_init_ctx(VfuObject *o, Error **errp)
> VFU_REGION_FLAG_RW | VFU_REGION_FLAG_ALWAYS_CB,
> NULL, 0, -1, 0);
> if (ret < 0) {
> - error_setg(errp,
> - "vfu: Failed to setup config space handlers for %s- %s",
> - o->device, strerror(errno));
> + error_setg_errno(errp,
> + "vfu: Failed to setup config space handlers for %s",
> + o->device);
missing errno.
> goto fail;
> }
>
> @@ -822,8 +822,8 @@ static void vfu_object_init_ctx(VfuObject *o, Error **errp)
>
> ret = vfu_realize_ctx(o->vfu_ctx);
> if (ret < 0) {
> - error_setg(errp, "vfu: Failed to realize device %s- %s",
> - o->device, strerror(errno));
> + error_setg_errno(errp, "vfu: Failed to realize device %s",
> + o->device);
missing errno.
Dave
> goto fail;
> }
>
> diff --git a/hw/sensor/emc141x.c b/hw/sensor/emc141x.c
> index 7b2ce383a1..a51fc44395 100644
> --- a/hw/sensor/emc141x.c
> +++ b/hw/sensor/emc141x.c
> @@ -59,7 +59,7 @@ static void emc141x_get_temperature(Object *obj, Visitor *v, const char *name,
> unsigned tempid;
>
> if (sscanf(name, "temperature%u", &tempid) != 1) {
> - error_setg(errp, "error reading %s: %s", name, g_strerror(errno));
> + error_setg_errno(errp, errno, "error reading %s", name);
> return;
> }
>
> @@ -86,7 +86,7 @@ static void emc141x_set_temperature(Object *obj, Visitor *v, const char *name,
> }
>
> if (sscanf(name, "temperature%u", &tempid) != 1) {
> - error_setg(errp, "error reading %s: %s", name, g_strerror(errno));
> + error_setg_errno(errp, errno, "error reading %s", name);
> return;
> }
>
> diff --git a/hw/sensor/tmp421.c b/hw/sensor/tmp421.c
> index 3421c44086..127edd0ba5 100644
> --- a/hw/sensor/tmp421.c
> +++ b/hw/sensor/tmp421.c
> @@ -117,7 +117,7 @@ static void tmp421_get_temperature(Object *obj, Visitor *v, const char *name,
> int tempid;
>
> if (sscanf(name, "temperature%d", &tempid) != 1) {
> - error_setg(errp, "error reading %s: %s", name, g_strerror(errno));
> + error_setg_errno(errp, errno, "error reading %s", name);
> return;
> }
>
> @@ -154,7 +154,7 @@ static void tmp421_set_temperature(Object *obj, Visitor *v, const char *name,
> }
>
> if (sscanf(name, "temperature%d", &tempid) != 1) {
> - error_setg(errp, "error reading %s: %s", name, g_strerror(errno));
> + error_setg_errno(errp, errno, "error reading %s", name);
> return;
> }
>
> diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c
> index 7558b2ad83..b228f9eb85 100644
> --- a/hw/smbios/smbios.c
> +++ b/hw/smbios/smbios.c
> @@ -1281,8 +1281,8 @@ static int save_opt_one(void *opaque,
> break;
> }
> if (ret < 0) {
> - error_setg(errp, "Unable to read from %s: %s",
> - value, strerror(errno));
> + error_setg_errno(errp, errno, "Unable to read from %s",
> + value);
> qemu_close(fd);
> return -1;
> }
> diff --git a/hw/virtio/vdpa-dev.c b/hw/virtio/vdpa-dev.c
> index 4a7b970976..f97d576171 100644
> --- a/hw/virtio/vdpa-dev.c
> +++ b/hw/virtio/vdpa-dev.c
> @@ -41,8 +41,8 @@ vhost_vdpa_device_get_u32(int fd, unsigned long int cmd, Error **errp)
> uint32_t val = (uint32_t)-1;
>
> if (ioctl(fd, cmd, &val) < 0) {
> - error_setg(errp, "vhost-vdpa-device: cmd 0x%lx failed: %s",
> - cmd, strerror(errno));
> + error_setg_errno(errp, errno, "vhost-vdpa-device: cmd 0x%lx failed",
> + cmd);
> }
>
> return val;
> diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
> index 3f98dcb6fd..5454372ac6 100644
> --- a/migration/postcopy-ram.c
> +++ b/migration/postcopy-ram.c
> @@ -582,7 +582,7 @@ bool postcopy_ram_supported_by_host(MigrationIncomingState *mis, Error **errp)
>
> ufd = uffd_open(O_CLOEXEC);
> if (ufd == -1) {
> - error_setg(errp, "Userfaultfd not available: %s", strerror(errno));
> + error_setg_errno(errp, errno, "Userfaultfd not available");
> goto out;
> }
>
> @@ -620,7 +620,7 @@ bool postcopy_ram_supported_by_host(MigrationIncomingState *mis, Error **errp)
> * it was enabled.
> */
> if (munlockall()) {
> - error_setg(errp, "munlockall() failed: %s", strerror(errno));
> + error_setg_errno(errp, errno, "munlockall() failed");
> goto out;
> }
>
> @@ -632,7 +632,7 @@ bool postcopy_ram_supported_by_host(MigrationIncomingState *mis, Error **errp)
> testarea = mmap(NULL, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE |
> MAP_ANONYMOUS, -1, 0);
> if (testarea == MAP_FAILED) {
> - error_setg(errp, "Failed to map test area: %s", strerror(errno));
> + error_setg_errno(errp, errno, "Failed to map test area");
> goto out;
> }
> g_assert(QEMU_PTR_IS_ALIGNED(testarea, pagesize));
> @@ -642,14 +642,14 @@ bool postcopy_ram_supported_by_host(MigrationIncomingState *mis, Error **errp)
> reg_struct.mode = UFFDIO_REGISTER_MODE_MISSING;
>
> if (ioctl(ufd, UFFDIO_REGISTER, ®_struct)) {
> - error_setg(errp, "UFFDIO_REGISTER failed: %s", strerror(errno));
> + error_setg_errno(errp, errno, "UFFDIO_REGISTER failed");
> goto out;
> }
>
> range_struct.start = (uintptr_t)testarea;
> range_struct.len = pagesize;
> if (ioctl(ufd, UFFDIO_UNREGISTER, &range_struct)) {
> - error_setg(errp, "UFFDIO_UNREGISTER failed: %s", strerror(errno));
> + error_setg_errno(errp, errno, "UFFDIO_UNREGISTER failed");
> goto out;
> }
>
> diff --git a/migration/rdma.c b/migration/rdma.c
> index ef4885ef5f..9e301cf917 100644
> --- a/migration/rdma.c
> +++ b/migration/rdma.c
> @@ -2349,7 +2349,7 @@ static int qemu_get_cm_event_timeout(RDMAContext *rdma,
> error_setg(errp, "RDMA ERROR: poll cm event timeout");
> return -1;
> } else if (ret < 0) {
> - error_setg_errno(errp, "RDMA ERROR: failed to poll cm event");
> + error_setg_errno(errp, errno, "RDMA ERROR: failed to poll cm event");
> return -1;
> } else if (poll_fd.revents & POLLIN) {
> if (rdma_get_cm_event(rdma->channel, cm_event) < 0) {
> diff --git a/net/slirp.c b/net/slirp.c
> index 5996fec512..04925f3318 100644
> --- a/net/slirp.c
> +++ b/net/slirp.c
> @@ -1020,8 +1020,9 @@ static int slirp_smb(SlirpState* s, const char *exported_dir,
> }
>
> if (access(exported_dir, R_OK | X_OK)) {
> - error_setg(errp, "Error accessing shared directory '%s': %s",
> - exported_dir, strerror(errno));
> + error_setg_errno(errp, errno,
> + "Error accessing shared directory '%s'",
> + exported_dir);
> return -1;
> }
>
> diff --git a/qga/commands-posix-ssh.c b/qga/commands-posix-ssh.c
> index 246171d323..661972e34e 100644
> --- a/qga/commands-posix-ssh.c
> +++ b/qga/commands-posix-ssh.c
> @@ -61,20 +61,22 @@ mkdir_for_user(const char *path, const struct passwd *p,
> mode_t mode, Error **errp)
> {
> if (g_mkdir(path, mode) == -1) {
> - error_setg(errp, "failed to create directory '%s': %s",
> - path, g_strerror(errno));
> + error_setg_errno(errp, errno, "failed to create directory '%s'",
> + path);
> return false;
> }
>
> if (chown(path, p->pw_uid, p->pw_gid) == -1) {
> - error_setg(errp, "failed to set ownership of directory '%s': %s",
> - path, g_strerror(errno));
> + error_setg_errno(errp, errno,
> + "failed to set ownership of directory '%s'",
> + path);
> return false;
> }
>
> if (chmod(path, mode) == -1) {
> - error_setg(errp, "failed to set permissions of directory '%s': %s",
> - path, g_strerror(errno));
> + error_setg_errno(errp, errno,
> + "failed to set permissions of directory '%s'",
> + path);
> return false;
> }
>
> @@ -95,14 +97,15 @@ write_authkeys(const char *path, const GStrv keys,
> }
>
> if (chown(path, p->pw_uid, p->pw_gid) == -1) {
> - error_setg(errp, "failed to set ownership of directory '%s': %s",
> - path, g_strerror(errno));
> + error_setg_errno(errp, errno,
> + "failed to set ownership of directory '%s'",
> + path);
> return false;
> }
>
> if (chmod(path, 0600) == -1) {
> - error_setg(errp, "failed to set permissions of '%s': %s",
> - path, g_strerror(errno));
> + error_setg_errno(errp, errno, "failed to set permissions of '%s'",
> + path);
> return false;
> }
>
> diff --git a/system/vl.c b/system/vl.c
> index 5091fe52d9..2ef5b4b3b2 100644
> --- a/system/vl.c
> +++ b/system/vl.c
> @@ -619,7 +619,7 @@ static int parse_add_fd(void *opaque, QemuOpts *opts, Error **errp)
> }
> #endif
> if (dupfd == -1) {
> - error_setg(errp, "error duplicating fd: %s", strerror(errno));
> + error_setg_errno(errp, errno, "error duplicating fd");
> return -1;
> }
>
> diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
> index 43124bf1c7..3501b5d546 100644
> --- a/target/ppc/kvm.c
> +++ b/target/ppc/kvm.c
> @@ -2699,9 +2699,8 @@ int kvmppc_get_htab_fd(bool write, uint64_t index, Error **errp)
>
> ret = kvm_vm_ioctl(kvm_state, KVM_PPC_GET_HTAB_FD, &s);
> if (ret < 0) {
> - error_setg(errp, "Unable to open fd for %s HPT %s KVM: %s",
> - write ? "writing" : "reading", write ? "to" : "from",
> - strerror(errno));
> + error_setg_errno(errp, errno, "Unable to open fd for %s HPT %s KVM",
> + write ? "writing" : "reading", write ? "to" : "from");
> return -errno;
> }
>
> --
> 2.49.0
>
--
-----Open up your eyes, open up your mind, open up your code -------
/ Dr. David Alan Gilbert | Running GNU/Linux | Happy \
\ dave @ treblig.org | | In Hex /
\ _________________________|_____ http://www.treblig.org |_______/
"Dr. David Alan Gilbert" <dave@treblig.org> writes:
> * Markus Armbruster (armbru@redhat.com) wrote:
>> Use error_setg_errno() instead of passing the value of strerror() or
>> g_strerror() to error_setg().
>>
>> The separator between the error message proper and the value of
>> strerror() changes from " : ", "", " - ", "- " to ": " in places.
>>
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>
>> @@ -792,9 +792,9 @@ static void vfu_object_init_ctx(VfuObject *o, Error **errp)
>> VFU_REGION_FLAG_RW | VFU_REGION_FLAG_ALWAYS_CB,
>> NULL, 0, -1, 0);
>> if (ret < 0) {
>> - error_setg(errp,
>> - "vfu: Failed to setup config space handlers for %s- %s",
>> - o->device, strerror(errno));
>> + error_setg_errno(errp,
>> + "vfu: Failed to setup config space handlers for %s",
>> + o->device);
>
> missing errno.
Yes.
>> goto fail;
>> }
>>
>> @@ -822,8 +822,8 @@ static void vfu_object_init_ctx(VfuObject *o, Error **errp)
>>
>> ret = vfu_realize_ctx(o->vfu_ctx);
>> if (ret < 0) {
>> - error_setg(errp, "vfu: Failed to realize device %s- %s",
>> - o->device, strerror(errno));
>> + error_setg_errno(errp, "vfu: Failed to realize device %s",
>> + o->device);
>
> missing errno.
Yes. Another file my build tree doesn't compile anymore. Will fix,
thanks!
[...]
Cc: trimmed
Markus Armbruster <armbru@redhat.com> writes:
> "Dr. David Alan Gilbert" <dave@treblig.org> writes:
>
>> * Markus Armbruster (armbru@redhat.com) wrote:
>>> Use error_setg_errno() instead of passing the value of strerror() or
>>> g_strerror() to error_setg().
>>>
>>> The separator between the error message proper and the value of
>>> strerror() changes from " : ", "", " - ", "- " to ": " in places.
>>>
>>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>>
>>> @@ -792,9 +792,9 @@ static void vfu_object_init_ctx(VfuObject *o, Error **errp)
>>> VFU_REGION_FLAG_RW | VFU_REGION_FLAG_ALWAYS_CB,
>>> NULL, 0, -1, 0);
>>> if (ret < 0) {
>>> - error_setg(errp,
>>> - "vfu: Failed to setup config space handlers for %s- %s",
>>> - o->device, strerror(errno));
>>> + error_setg_errno(errp,
>>> + "vfu: Failed to setup config space handlers for %s",
>>> + o->device);
>>
>> missing errno.
>
> Yes.
>
>>> goto fail;
>>> }
>>>
>>> @@ -822,8 +822,8 @@ static void vfu_object_init_ctx(VfuObject *o, Error **errp)
>>>
>>> ret = vfu_realize_ctx(o->vfu_ctx);
>>> if (ret < 0) {
>>> - error_setg(errp, "vfu: Failed to realize device %s- %s",
>>> - o->device, strerror(errno));
>>> + error_setg_errno(errp, "vfu: Failed to realize device %s",
>>> + o->device);
>>
>> missing errno.
>
> Yes. Another file my build tree doesn't compile anymore. Will fix,
> thanks!
>
> [...]
To include it in the build, I need to pass --enable-vfio-user-server to
configure, then install the libaries configure asked for.
Build then fails for me:
FAILED: subprojects/libvfio-user/test/unit_tests.p/unit-tests.c.o
cc -m64 -Isubprojects/libvfio-user/test/unit_tests.p -Isubprojects/libvfio-user/test -I../subprojects/libvfio-user/test -Isubprojects/libvfio-user/include -I../subprojects/libvfio-user/include -Isubprojects/libvfio-user/lib -I../subprojects/libvfio-user/lib -I/usr/include/json-c -fdiagnostics-color=auto -Wall -Winvalid-pch -Wextra -Werror -std=gnu99 -O2 -g -DSTAP_SDT_V2 -mcx16 -msse2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fno-common -fwrapv -ftrivial-auto-var-init=zero -fzero-call-used-regs=used-gpr -fPIE -DUNIT_TEST -DWITH_TRAN_PIPE -D_GNU_SOURCE -Werror -DDEBUG -Wno-missing-field-initializers -Wmissing-declarations -Wwrite-strings -MD -MQ subprojects/libvfio-user/test/unit_tests.p/unit-tests.c.o -MF subprojects/libvfio-user/test/unit_tests.p/unit-tests.c.o.d -o subprojects/libvfio-user/test/unit_tests.p/unit-tests.c.o -c ../subprojects/libvfio-user/test/unit-tests.c
../subprojects/libvfio-user/test/unit-tests.c: In function ‘test_device_is_stopped_and_copying’:
../subprojects/libvfio-user/test/unit-tests.c:585:23: error: storing the address of local variable ‘migration’ in ‘vfu_ctx.migration’ [-Werror=dangling-pointer=]
585 | vfu_ctx.migration = &migration;
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
../subprojects/libvfio-user/test/unit-tests.c:584:22: note: ‘migration’ declared here
584 | struct migration migration;
| ^~~~~~~~~
../subprojects/libvfio-user/test/unit-tests.c:62:18: note: ‘vfu_ctx’ declared here
62 | static vfu_ctx_t vfu_ctx;
| ^~~~~~~
cc1: all warnings being treated as errors
and
FAILED: subprojects/libvfio-user/lib/libvfio-user.so.0.0.1.p/libvfio-user.c.o
cc -m64 -Isubprojects/libvfio-user/lib/libvfio-user.so.0.0.1.p -Isubprojects/libvfio-user/lib -I../subprojects/libvfio-user/lib -Isubprojects/libvfio-user/include -I../subprojects/libvfio-user/include -I/usr/include/json-c -fvisibility=hidden -fdiagnostics-color=auto -Wall -Winvalid-pch -Wextra -Werror -std=gnu99 -O2 -g -DSTAP_SDT_V2 -mcx16 -msse2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fno-common -fwrapv -ftrivial-auto-var-init=zero -fzero-call-used-regs=used-gpr -fPIC -D_GNU_SOURCE -Werror -DDEBUG -Wno-missing-field-initializers -Wmissing-declarations -Wwrite-strings -MD -MQ subprojects/libvfio-user/lib/libvfio-user.so.0.0.1.p/libvfio-user.c.o -MF subprojects/libvfio-user/lib/libvfio-user.so.0.0.1.p/libvfio-user.c.o.d -o subprojects/libvfio-user/lib/libvfio-user.so.0.0.1.p/libvfio-user.c.o -c ../subprojects/libvfio-user/lib/libvfio-user.c
../subprojects/libvfio-user/lib/libvfio-user.c: In function ‘handle_device_get_region_io_fds’:
../subprojects/libvfio-user/lib/libvfio-user.c:617:38: error: ‘calloc’ sizes specified with ‘sizeof’ in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
617 | msg->out.fds = calloc(sizeof(int), max_sent_sub_regions);
| ^~~
../subprojects/libvfio-user/lib/libvfio-user.c:617:38: note: earlier argument should specify number of elements, later size of each element
cc1: all warnings being treated as errors
© 2016 - 2026 Red Hat, Inc.