Greg Kurz <gk...@linux.vnet.ibm.com> writes: > Signed-off-by: Greg Kurz <gk...@linux.vnet.ibm.com> > --- > hw/9pfs/9p-handle.c | 5 +++-- > hw/9pfs/9p-local.c | 15 ++++++++------- > hw/9pfs/9p-proxy.c | 12 ++++++------ > hw/9pfs/9p.c | 2 +- > 4 files changed, 18 insertions(+), 16 deletions(-) > > diff --git a/hw/9pfs/9p-handle.c b/hw/9pfs/9p-handle.c > index 58b77b4c942d..8ba88775a2b6 100644 > --- a/hw/9pfs/9p-handle.c > +++ b/hw/9pfs/9p-handle.c > @@ -19,6 +19,7 @@ > #include <sys/socket.h> > #include <sys/un.h> > #include "qemu/xattr.h" > +#include "qemu/error-report.h" > #include <unistd.h> > #include <linux/fs.h> > #ifdef CONFIG_LINUX_MAGIC_H > @@ -655,12 +656,12 @@ static int handle_parse_opts(QemuOpts *opts, struct > FsDriverEntry *fse) > const char *path = qemu_opt_get(opts, "path"); > > if (sec_model) { > - fprintf(stderr, "Invalid argument security_model specified with > handle fsdriver\n"); > + error_report("Invalid argument security_model specified with handle > fsdriver"); > return -1; > } > > if (!path) { > - fprintf(stderr, "fsdev: No path specified.\n"); > + error_report("fsdev: No path specified.");
Recommend to drop the period while there. > return -1; > } > fse->path = g_strdup(path); > diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c > index bf63eab729ad..9c25ab2db26b 100644 > --- a/hw/9pfs/9p-local.c > +++ b/hw/9pfs/9p-local.c > @@ -20,6 +20,7 @@ > #include <sys/socket.h> > #include <sys/un.h> > #include "qemu/xattr.h" > +#include "qemu/error-report.h" > #include <libgen.h> > #include <linux/fs.h> > #ifdef CONFIG_LINUX_MAGIC_H > @@ -1209,9 +1210,9 @@ static int local_parse_opts(QemuOpts *opts, struct > FsDriverEntry *fse) > const char *path = qemu_opt_get(opts, "path"); > > if (!sec_model) { > - fprintf(stderr, "security model not specified, " > - "local fs needs security model\nvalid options are:" > - "\tsecurity_model=[passthrough|mapped|none]\n"); > + error_report("security model not specified, local fs needs security > model"); > + error_printf("valid options are:" > + > "\tsecurity_model=[passthrough|mapped-xattr|mapped-file|none]\n"); > return -1; > } > > @@ -1225,14 +1226,14 @@ static int local_parse_opts(QemuOpts *opts, struct > FsDriverEntry *fse) > } else if (!strcmp(sec_model, "mapped-file")) { > fse->export_flags |= V9FS_SM_MAPPED_FILE; > } else { > - fprintf(stderr, "Invalid security model %s specified, valid options > are" > - "\n\t [passthrough|mapped-xattr|mapped-file|none]\n", > - sec_model); > + error_report("Invalid security model %s specified, valid options > are", > + sec_model); > + error_printf("\t [passthrough|mapped-xattr|mapped-file|none]\n"); Neater: error_report("Invalid security model %s specified", sec_model); error_printf("valid options are;" "\t[passthrough|mapped-xattr|mapped-file|none]\n"); > return -1; > } > > if (!path) { > - fprintf(stderr, "fsdev: No path specified.\n"); > + error_report("fsdev: No path specified."); Recommend to drop the period while there. > return -1; > } > fse->path = g_strdup(path); > diff --git a/hw/9pfs/9p-proxy.c b/hw/9pfs/9p-proxy.c > index 73d00dd74d11..72b9952d7c8b 100644 > --- a/hw/9pfs/9p-proxy.c > +++ b/hw/9pfs/9p-proxy.c > @@ -1100,19 +1100,19 @@ static int connect_namedsocket(const char *path) > struct sockaddr_un helper; > > if (strlen(path) >= sizeof(helper.sun_path)) { > - fprintf(stderr, "Socket name too large\n"); > + error_report("Socket name too large"); "too long" would be clearer, I think. > return -1; > } > sockfd = socket(AF_UNIX, SOCK_STREAM, 0); > if (sockfd < 0) { > - fprintf(stderr, "failed to create socket: %s\n", strerror(errno)); > + error_report("failed to create socket: %s", strerror(errno)); > return -1; > } > strcpy(helper.sun_path, path); > helper.sun_family = AF_UNIX; > size = strlen(helper.sun_path) + sizeof(helper.sun_family); > if (connect(sockfd, (struct sockaddr *)&helper, size) < 0) { > - fprintf(stderr, "failed to connect to %s: %s\n", path, > strerror(errno)); > + error_report("failed to connect to %s: %s", path, strerror(errno)); > close(sockfd); > return -1; > } > @@ -1128,11 +1128,11 @@ static int proxy_parse_opts(QemuOpts *opts, struct > FsDriverEntry *fs) > const char *sock_fd = qemu_opt_get(opts, "sock_fd"); > > if (!socket && !sock_fd) { > - fprintf(stderr, "socket and sock_fd none of the option specified\n"); > + error_report("socket and sock_fd none of the option specified"); "Must specify either socket or sock_fd" would be clearer. > return -1; > } > if (socket && sock_fd) { > - fprintf(stderr, "Both socket and sock_fd options specified\n"); > + error_report("Both socket and sock_fd options specified"); > return -1; > } > if (socket) { > @@ -1155,7 +1155,7 @@ static int proxy_init(FsContext *ctx) > } else { > sock_id = atoi(ctx->fs_root); > if (sock_id < 0) { > - fprintf(stderr, "socket descriptor not initialized\n"); > + error_report("socket descriptor not initialized"); > } > } > if (sock_id < 0) { > diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c > index 3ff310605cd4..1f3bd12e0d0c 100644 > --- a/hw/9pfs/9p.c > +++ b/hw/9pfs/9p.c > @@ -3370,7 +3370,7 @@ static void __attribute__((__constructor__)) > v9fs_set_fd_limit(void) > { > struct rlimit rlim; > if (getrlimit(RLIMIT_NOFILE, &rlim) < 0) { > - fprintf(stderr, "Failed to get the resource limit\n"); > + error_report("Failed to get the resource limit"); > exit(1); > } > open_fd_hw = rlim.rlim_cur - MIN(400, rlim.rlim_cur/3);