From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554994915; cv=none; d=zoho.com; s=zohoarc; b=aM0WEhT/MmwtkSFBlY8iVkCQ0UM51ALe39v4n1baTgDcnctCSjeku1mIjm8fHjWhlTlW8BaLijb0uikCqpZop7C00wjVSQUw+I2qspturwMl1Mms5wOvfKPSM6iy2FQ/qCZcf5pfinlyphoWliqLiElnWOuH/7SMnyUmqkWS/4E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554994915; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=Gg3xW81L16i/uZjk8IQLs/iWUyaqm5q/crPkD+amMEI=; b=emE0yOwx0YaFM0oEHSz5PJOS0abX2ipLQbZ6j0LFrcZfiWaiKiOzwthnbSxCed1f+WGFSuT7yUhYdXnkXNH+1qkvf9KC7T1ebapLmwqvq7GnnkdpeyyrtySXT8Ryr3nkNjKmy73E2xQ5SgtajOKf5GkGVY+wVJrCWqxsm6+zUb8= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554994915321215.37273297968068; Thu, 11 Apr 2019 08:01:55 -0700 (PDT) Received: from localhost ([127.0.0.1]:50296 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEbD3-0002kd-9U for importer@patchew.org; Thu, 11 Apr 2019 11:01:49 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38997) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4c-0003Mn-Tm for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4Y-0000n3-RN for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:05 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51092) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4V-0000jj-Cj; Thu, 11 Apr 2019 10:52:59 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 688592DA9A4; Thu, 11 Apr 2019 14:52:58 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 33C6B5D719; Thu, 11 Apr 2019 14:52:58 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id BF4341132BB6; Thu, 11 Apr 2019 16:52:56 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:42 +0200 Message-Id: <20190411145256.8614-2-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Thu, 11 Apr 2019 14:52:58 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 01/15] qemu-img: Use error_vreport() in error_exit() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , qemu-block@nongnu.org, Max Reitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" error_exit() uses low-level error_printf() to report errors. Modernize it to use error_vreport(). Cc: Kevin Wolf Cc: Max Reitz Cc: qemu-block@nongnu.org Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- qemu-img.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/qemu-img.c b/qemu-img.c index aa6f81f1ea..55201fb913 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -85,13 +85,11 @@ static void QEMU_NORETURN GCC_FMT_ATTR(1, 2) error_exit= (const char *fmt, ...) { va_list ap; =20 - error_printf("qemu-img: "); - va_start(ap, fmt); - error_vprintf(fmt, ap); + error_vreport(fmt, ap); va_end(ap); =20 - error_printf("\nTry 'qemu-img --help' for more information\n"); + error_printf("Try 'qemu-img --help' for more information\n"); exit(EXIT_FAILURE); } =20 --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554995072; cv=none; d=zoho.com; s=zohoarc; b=mDdo7R8hGAfb7ResEBnW4LOlCEMxS7v9DGHl1YWDMdhylmTF78rKk/VPYVmtQEEk44Yr03M4HLjDq5EPo6qXD1KioHSvRmp/XSNOtaE0Z9eoX9/5wNu1Nf/B1iTVkaqq8dklOSye8zPAO0H3hQKNohDUw9VepIDOr1cHK+7qBHg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554995072; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=GQ5Gkj2PTA20Uv5iWQvfcYcrNfV4fZQqicGHf2fWDyo=; b=LK6gYja+mU2iLD+fFa8BZwE6YhTq8P+sfnEE1D6AQJemWLz7MqqvlkroxuTmCOhfy01CTDRRNB1y6j+Yt7bc2me9+oqN63IVGy9GffRTufDoaqzh9lzFpavqMXKuHoIyJJHGWU9sLLlvwmAjGpmu4iNP+7AWVlc4X8nNEq0tYw4= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554995072154487.8308663284362; Thu, 11 Apr 2019 08:04:32 -0700 (PDT) Received: from localhost ([127.0.0.1]:50334 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEbFd-0004sm-6P for importer@patchew.org; Thu, 11 Apr 2019 11:04:29 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39000) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4d-0003Mw-17 for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4a-0000ni-WC for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:06 -0400 Received: from mx1.redhat.com ([209.132.183.28]:32902) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4V-0000jw-G1; Thu, 11 Apr 2019 10:52:59 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8D5AC3001AC2; Thu, 11 Apr 2019 14:52:58 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3709B19C6F; Thu, 11 Apr 2019 14:52:58 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id C30551132BD3; Thu, 11 Apr 2019 16:52:56 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:43 +0200 Message-Id: <20190411145256.8614-3-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Thu, 11 Apr 2019 14:52:58 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 02/15] block/ssh: Do not report read/write/flush errors to the user X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , "Richard W.M. Jones" , qemu-block@nongnu.org, Max Reitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Callbacks ssh_co_readv(), ssh_co_writev(), ssh_co_flush() report errors to the user with error_printf(). They shouldn't, it's their caller's job. Replace by a suitable trace point. While there, drop the unreachable !s->sftp case. Perhaps we should convert this part of the block driver interface to Error, so block drivers can pass more detail to their callers. Not today. Cc: "Richard W.M. Jones" Cc: Kevin Wolf Cc: Max Reitz Cc: qemu-block@nongnu.org Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- block/ssh.c | 38 +++++++++++++------------------------- block/trace-events | 3 +++ 2 files changed, 16 insertions(+), 25 deletions(-) diff --git a/block/ssh.c b/block/ssh.c index 190ef95300..859249113d 100644 --- a/block/ssh.c +++ b/block/ssh.c @@ -159,31 +159,19 @@ sftp_error_setg(Error **errp, BDRVSSHState *s, const = char *fs, ...) g_free(msg); } =20 -static void GCC_FMT_ATTR(2, 3) -sftp_error_report(BDRVSSHState *s, const char *fs, ...) +static void sftp_error_trace(BDRVSSHState *s, const char *op) { - va_list args; + char *ssh_err; + int ssh_err_code; + unsigned long sftp_err_code; =20 - va_start(args, fs); - error_vprintf(fs, args); + /* This is not an errno. See . */ + ssh_err_code =3D libssh2_session_last_error(s->session, + &ssh_err, NULL, 0); + /* See . */ + sftp_err_code =3D libssh2_sftp_last_error((s)->sftp); =20 - if ((s)->sftp) { - char *ssh_err; - int ssh_err_code; - unsigned long sftp_err_code; - - /* This is not an errno. See . */ - ssh_err_code =3D libssh2_session_last_error(s->session, - &ssh_err, NULL, 0); - /* See . */ - sftp_err_code =3D libssh2_sftp_last_error((s)->sftp); - - error_printf(": %s (libssh2 error code: %d, sftp error code: %lu)", - ssh_err, ssh_err_code, sftp_err_code); - } - - va_end(args); - error_printf("\n"); + trace_sftp_error(op, ssh_err, ssh_err_code, sftp_err_code); } =20 static int parse_uri(const char *filename, QDict *options, Error **errp) @@ -1035,7 +1023,7 @@ static coroutine_fn int ssh_read(BDRVSSHState *s, Blo= ckDriverState *bs, goto again; } if (r < 0) { - sftp_error_report(s, "read failed"); + sftp_error_trace(s, "read"); s->offset =3D -1; return -EIO; } @@ -1105,7 +1093,7 @@ static int ssh_write(BDRVSSHState *s, BlockDriverStat= e *bs, goto again; } if (r < 0) { - sftp_error_report(s, "write failed"); + sftp_error_trace(s, "write"); s->offset =3D -1; return -EIO; } @@ -1188,7 +1176,7 @@ static coroutine_fn int ssh_flush(BDRVSSHState *s, Bl= ockDriverState *bs) return 0; } if (r < 0) { - sftp_error_report(s, "fsync failed"); + sftp_error_trace(s, "fsync"); return -EIO; } =20 diff --git a/block/trace-events b/block/trace-events index 7335a42540..79ccd8d824 100644 --- a/block/trace-events +++ b/block/trace-events @@ -208,3 +208,6 @@ sheepdog_co_rw_vector_new(uint64_t oid) "new oid 0x%" P= RIx64 sheepdog_snapshot_create_info(const char *sn_name, const char *id, const c= har *name, int64_t size, int is_snapshot) "sn_info: name %s id_str %s s: na= me %s vm_state_size %" PRId64 " " "is_snapshot %d" sheepdog_snapshot_create(const char *sn_name, const char *id) "%s %s" sheepdog_snapshot_create_inode(const char *name, uint32_t snap, uint32_t v= di) "s->inode: name %s snap_id 0x%" PRIx32 " vdi 0x%" PRIx32 + +# ssh.c +sftp_error(const char *op, const char *ssh_err, int ssh_err_code, unsigned= long sftp_err_code) "%s failed: %s (libssh2 error code: %d, sftp error cod= e: %lu)" --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554994683; cv=none; d=zoho.com; s=zohoarc; b=NDdHS0ASFrZtnEnMRRkCmKFmNWaoUg5UL7lEcDvOO7ep746aEHTSNdTbcjsPuxdJpZOlY0BzwXHDP4l/iXAiBD9hnzP2tp9WTpRFGiKLpfuqKIL2IaKVUXTQhkAsqJagNcJfKxJz8EfzJK96WLflUbePqskG2rOUFVV6AJokeWE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554994683; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=9vEKfnIP5ihrPMdM4MaN2e/rnctjl5D2cx2AN5YFeQQ=; b=Enn2ZEZGRhbtMnIup7phsqx83dTrcZMgihRH6Q3ppkQyPNsNAhaLhDwD9gid/A2ItfB+uk7jGYOUOCdDSVquI58na8G4Rx99jASpKuPZCGl+rWAoolJCJR6J1HjLsyKEUeQDPnMwgi3I7P19dt5X3CaH/hgdpdFe6FPfDVBy8UY= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554994683377664.3229840600034; Thu, 11 Apr 2019 07:58:03 -0700 (PDT) Received: from localhost ([127.0.0.1]:50227 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb9J-0007H9-CH for importer@patchew.org; Thu, 11 Apr 2019 10:57:57 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39062) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4i-0003TO-Pp for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4g-0000qI-Pb for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:12 -0400 Received: from mx1.redhat.com ([209.132.183.28]:14273) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4d-0000mu-1U for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:08 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 618BE3003091 for ; Thu, 11 Apr 2019 14:53:02 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3A8744C481; Thu, 11 Apr 2019 14:52:58 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id C6ADC1132B6C; Thu, 11 Apr 2019 16:52:56 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:44 +0200 Message-Id: <20190411145256.8614-4-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Thu, 11 Apr 2019 14:53:02 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 03/15] char-pty: Drop "char device redirected to" message X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" char_pty_open() prints a "char device redirected to PTY_NAME (label LABEL)" message to the current monitor or else to stderr. No other ChardevClass::open() prints anything on success. Drop the message. Cc: "Marc-Andr=C3=A9 Lureau" Cc: Paolo Bonzini Signed-off-by: Markus Armbruster Reviewed-by: Marc-Andr=C3=A9 Lureau --- chardev/char-pty.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/chardev/char-pty.c b/chardev/char-pty.c index b034332edd..a48d3e5d20 100644 --- a/chardev/char-pty.c +++ b/chardev/char-pty.c @@ -211,8 +211,6 @@ static void char_pty_open(Chardev *chr, qemu_set_nonblock(master_fd); =20 chr->filename =3D g_strdup_printf("pty:%s", pty_name); - error_printf("char device redirected to %s (label %s)\n", - pty_name, chr->label); =20 s =3D PTY_CHARDEV(chr); s->ioc =3D QIO_CHANNEL(qio_channel_file_new_fd(master_fd)); --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554994508; cv=none; d=zoho.com; s=zohoarc; b=keh7kWkgRFF4jQ6sapvO5q8kc9MjPXMWKoktxepdFMuaYK3cQmTe/4MTLL/hNbLs9bW7/HYSVoW9kxNNOSm0ldipaU3EYbvlWoLAAonAj0og/6tsFrEP6siTLVVPslQ8K4kd0H2aSGDW7JUBYm1rYg9bkZ6fZVahaOXL+mza2VI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554994508; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=mWys47x15JAQDgyy8wAAYmxXGLkjmvv2S+T9EZYKhYc=; b=EPGI0hrUr+FHl+QfivOjFSgPHW3NLFFJfZ+Xm3Ndsd8fOSByHI2lhj+UoovO0kSZdxuL52Cx/XeUv/0aitgOtEiEh/GoBQ1eUoS3aIUqIa3BLvVitIePhaQ42TJMNFLhh1ILfa6csomoafVqsav4y2pV6+hGvvpncoqp1HNdePQ= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554994508978672.4683575816459; Thu, 11 Apr 2019 07:55:08 -0700 (PDT) Received: from localhost ([127.0.0.1]:50171 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb6U-0004hL-OD for importer@patchew.org; Thu, 11 Apr 2019 10:55:02 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38934) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4X-0003Hb-Hv for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4V-0000kk-S3 for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:01 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51110) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4V-0000k6-GF for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:52:59 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id AD5B32DA9AE; Thu, 11 Apr 2019 14:52:58 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3E0295D9C4; Thu, 11 Apr 2019 14:52:58 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id CA3E71132B74; Thu, 11 Apr 2019 16:52:56 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:45 +0200 Message-Id: <20190411145256.8614-5-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Thu, 11 Apr 2019 14:52:58 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 04/15] loader-fit: Wean off error_printf() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Aleksandar Rikalo , Paul Burton Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" load_fit() reports errors with error_printf() instead of error_report(). Worse, it even reports errors it actually recovers from, in fit_cfg_compatible() and fit_load_fdt(). Messed up in initial commit 51b58561c1d. Convert the helper functions for load_fit() to Error. Make sure each failure path sets an error. Fix fit_cfg_compatible() and fit_load_fdt() not to report errors they actually recover from. Convert load_fit() to error_report(). Cc: Paul Burton Cc: Aleksandar Rikalo Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/core/loader-fit.c | 62 +++++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/hw/core/loader-fit.c b/hw/core/loader-fit.c index 447f60857d..f27b6af942 100644 --- a/hw/core/loader-fit.c +++ b/hw/core/loader-fit.c @@ -18,6 +18,7 @@ */ =20 #include "qemu/osdep.h" +#include "qapi/error.h" #include "qemu/units.h" #include "exec/memory.h" #include "hw/loader.h" @@ -33,7 +34,7 @@ #define FIT_LOADER_MAX_PATH (128) =20 static const void *fit_load_image_alloc(const void *itb, const char *name, - int *poff, size_t *psz) + int *poff, size_t *psz, Error **er= rp) { const void *data; const char *comp; @@ -46,6 +47,7 @@ static const void *fit_load_image_alloc(const void *itb, = const char *name, =20 off =3D fdt_path_offset(itb, path); if (off < 0) { + error_setg(errp, "can't find node %s", path); return NULL; } if (poff) { @@ -54,6 +56,7 @@ static const void *fit_load_image_alloc(const void *itb, = const char *name, =20 data =3D fdt_getprop(itb, off, "data", &sz); if (!data) { + error_setg(errp, "can't get %s/data", path); return NULL; } =20 @@ -73,7 +76,7 @@ static const void *fit_load_image_alloc(const void *itb, = const char *name, =20 uncomp_len =3D gunzip(uncomp_data, uncomp_len, (void *) data, sz); if (uncomp_len < 0) { - error_printf("unable to decompress %s image\n", name); + error_setg(errp, "unable to decompress %s image", name); g_free(uncomp_data); return NULL; } @@ -85,18 +88,19 @@ static const void *fit_load_image_alloc(const void *itb= , const char *name, return data; } =20 - error_printf("unknown compression '%s'\n", comp); + error_setg(errp, "unknown compression '%s'", comp); return NULL; } =20 static int fit_image_addr(const void *itb, int img, const char *name, - hwaddr *addr) + hwaddr *addr, Error **errp) { const void *prop; int len; =20 prop =3D fdt_getprop(itb, img, name, &len); if (!prop) { + error_setg(errp, "can't find %s address", name); return -ENOENT; } =20 @@ -108,13 +112,14 @@ static int fit_image_addr(const void *itb, int img, c= onst char *name, *addr =3D fdt64_to_cpu(*(fdt64_t *)prop); return 0; default: - error_printf("invalid %s address length %d\n", name, len); + error_setg(errp, "invalid %s address length %d", name, len); return -EINVAL; } } =20 static int fit_load_kernel(const struct fit_loader *ldr, const void *itb, - int cfg, void *opaque, hwaddr *pend) + int cfg, void *opaque, hwaddr *pend, + Error **errp) { const char *name; const void *data; @@ -126,26 +131,26 @@ static int fit_load_kernel(const struct fit_loader *l= dr, const void *itb, =20 name =3D fdt_getprop(itb, cfg, "kernel", NULL); if (!name) { - error_printf("no kernel specified by FIT configuration\n"); + error_setg(errp, "no kernel specified by FIT configuration"); return -EINVAL; } =20 - load_data =3D data =3D fit_load_image_alloc(itb, name, &img_off, &sz); + load_data =3D data =3D fit_load_image_alloc(itb, name, &img_off, &sz, = errp); if (!data) { - error_printf("unable to load kernel image from FIT\n"); + error_prepend(errp, "unable to load kernel image from FIT: "); return -EINVAL; } =20 - err =3D fit_image_addr(itb, img_off, "load", &load_addr); + err =3D fit_image_addr(itb, img_off, "load", &load_addr, errp); if (err) { - error_printf("unable to read kernel load address from FIT\n"); + error_prepend(errp, "unable to read kernel load address from FIT: = "); ret =3D err; goto out; } =20 - err =3D fit_image_addr(itb, img_off, "entry", &entry_addr); + err =3D fit_image_addr(itb, img_off, "entry", &entry_addr, errp); if (err) { - error_printf("unable to read kernel entry address from FIT\n"); + error_prepend(errp, "unable to read kernel entry address from FIT:= "); ret =3D err; goto out; } @@ -172,7 +177,7 @@ out: =20 static int fit_load_fdt(const struct fit_loader *ldr, const void *itb, int cfg, void *opaque, const void *match_data, - hwaddr kernel_end) + hwaddr kernel_end, Error **errp) { const char *name; const void *data; @@ -187,16 +192,18 @@ static int fit_load_fdt(const struct fit_loader *ldr,= const void *itb, return 0; } =20 - load_data =3D data =3D fit_load_image_alloc(itb, name, &img_off, &sz); + load_data =3D data =3D fit_load_image_alloc(itb, name, &img_off, &sz, = errp); if (!data) { - error_printf("unable to load FDT image from FIT\n"); + error_prepend(errp, "unable to load FDT image from FIT: "); return -EINVAL; } =20 - err =3D fit_image_addr(itb, img_off, "load", &load_addr); + err =3D fit_image_addr(itb, img_off, "load", &load_addr, errp); if (err =3D=3D -ENOENT) { load_addr =3D ROUND_UP(kernel_end, 64 * KiB) + (10 * MiB); + error_free(*errp); } else if (err) { + error_prepend(errp, "unable to read FDT load address from FIT: "); ret =3D err; goto out; } @@ -229,7 +236,7 @@ static bool fit_cfg_compatible(const void *itb, int cfg= , const char *compat) return false; } =20 - fdt =3D fit_load_image_alloc(itb, fdt_name, NULL, NULL); + fdt =3D fit_load_image_alloc(itb, fdt_name, NULL, NULL, NULL); if (!fdt) { return false; } @@ -252,11 +259,12 @@ out: =20 int load_fit(const struct fit_loader *ldr, const char *filename, void *opa= que) { + Error *err =3D NULL; const struct fit_loader_match *match; const void *itb, *match_data =3D NULL; const char *def_cfg_name; char path[FIT_LOADER_MAX_PATH]; - int itb_size, configs, cfg_off, off, err; + int itb_size, configs, cfg_off, off; hwaddr kernel_end; int ret; =20 @@ -267,6 +275,7 @@ int load_fit(const struct fit_loader *ldr, const char *= filename, void *opaque) =20 configs =3D fdt_path_offset(itb, "/configurations"); if (configs < 0) { + error_report("can't find node /configurations"); ret =3D configs; goto out; } @@ -301,20 +310,21 @@ int load_fit(const struct fit_loader *ldr, const char= *filename, void *opaque) } =20 if (cfg_off < 0) { - /* couldn't find a configuration to use */ + error_report("can't find configuration"); ret =3D cfg_off; goto out; } =20 - err =3D fit_load_kernel(ldr, itb, cfg_off, opaque, &kernel_end); - if (err) { - ret =3D err; + ret =3D fit_load_kernel(ldr, itb, cfg_off, opaque, &kernel_end, &err); + if (ret) { + error_report_err(err); goto out; } =20 - err =3D fit_load_fdt(ldr, itb, cfg_off, opaque, match_data, kernel_end= ); - if (err) { - ret =3D err; + ret =3D fit_load_fdt(ldr, itb, cfg_off, opaque, match_data, kernel_end, + &err); + if (ret) { + error_report_err(err); goto out; } =20 --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554994513; cv=none; d=zoho.com; s=zohoarc; b=P15swCqBDRyAomOnXmAxBDUxevng8oi/z1O1brqCOiKwlvk4dyt16q2l2I4BVEkLmG6IMNoIcB9eGUeO6xU9nWYvFkCFUatBxi1/kZOeG1CUD+61P7FMilR4QkOXXesCPLGpKEMXLXUphdu3B2XQVJEPEgGpCfhewEaLMrhH/Bc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554994513; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=bIVZVjVwMxYQaDisgyS+h1ypx/vh8NfxySNmCV0AYug=; b=lsDW4NaiKj4l/leo9XN8gnFXhm3z9zapCSxbK1celmKiEVY+G/DtgCO6aVHqErosw8Tx2Koa5rKYhfNueJs/gERch2DPVBPe7FO6euhvOCQkTdtKiI8NrNAy8tCFsV12FS6UhoqfKwvpUT7sGFfCjRN3MkPM3SfCpviLZPE0T3E= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554994513743387.5128682393462; Thu, 11 Apr 2019 07:55:13 -0700 (PDT) Received: from localhost ([127.0.0.1]:50173 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb6d-0004lH-2m for importer@patchew.org; Thu, 11 Apr 2019 10:55:11 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38962) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4b-0003Kt-0l for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4W-0000lZ-Rg for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:02 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51178) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4W-0000kv-Hb for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:00 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C951D23E6D8; Thu, 11 Apr 2019 14:52:59 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9630D5D704; Thu, 11 Apr 2019 14:52:59 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id CDD1E1132B38; Thu, 11 Apr 2019 16:52:56 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:46 +0200 Message-Id: <20190411145256.8614-6-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Thu, 11 Apr 2019 14:52:59 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 05/15] mips/boston: Report errors with error_report(), not error_printf() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Aleksandar Rikalo , Paul Burton Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Cc: Paul Burton Cc: Aleksandar Rikalo Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/mips/boston.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/mips/boston.c b/hw/mips/boston.c index e5bab3cadc..a8b29f62f5 100644 --- a/hw/mips/boston.c +++ b/hw/mips/boston.c @@ -528,21 +528,21 @@ static void boston_mach_init(MachineState *machine) fw_size =3D load_image_targphys(machine->firmware, 0x1fc00000, 4 * MiB); if (fw_size =3D=3D -1) { - error_printf("unable to load firmware image '%s'\n", + error_report("unable to load firmware image '%s'", machine->firmware); exit(1); } } else if (machine->kernel_filename) { fit_err =3D load_fit(&boston_fit_loader, machine->kernel_filename,= s); if (fit_err) { - error_printf("unable to load FIT image\n"); + error_report("unable to load FIT image"); exit(1); } =20 gen_firmware(memory_region_get_ram_ptr(flash) + 0x7c00000, s->kernel_entry, s->fdt_base, is_64b); } else if (!qtest_enabled()) { - error_printf("Please provide either a -kernel or -bios argument\n"= ); + error_report("Please provide either a -kernel or -bios argument"); exit(1); } } --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=temperror (zoho.com: Error in retrieving data from DNS) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554994861; cv=none; d=zoho.com; s=zohoarc; b=kQXBMkpSpF3Yqc44SG3AkeENPNccekUcPaO6uvwY0Lxah4Li/ebJ3ZjixLeUh2fLGwJDMq0EYJNASpwuqw8dEKmIEWBcNUXambfU2GeNaLLge6OKgXO9s54bwthd8ISjmLDbTyQp/2+3zIQYn2D/AvjGazS8FSo76cTpUmXTLjc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554994861; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=psSPJmdf72/LPLDTZzflC/820i7ASLPjQdn2RNzC+0s=; b=D/1Ri1SUEf9dA8cer9Kd7yyUJ3nMKlbkev0k0fgbtGaZ1ultWEN3iZ6V35o40/Fqb2SXDoD1qHFwn8V957O2Begx3GktE4Bl1q/9DgFsa79g3GfcFNLXc42Jy5Qn5ok56adAPZ9A7aCA0B/p8miSYHZyV8wXIYu0/8C2YTLKmz8= ARC-Authentication-Results: i=1; mx.zoho.com; spf=temperror (zoho.com: Error in retrieving data from DNS) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554994861260589.3793959499003; Thu, 11 Apr 2019 08:01:01 -0700 (PDT) Received: from localhost ([127.0.0.1]:50283 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEbC1-0001WG-UD for importer@patchew.org; Thu, 11 Apr 2019 11:00:45 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39060) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4i-0003TN-Ph for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4h-0000qj-0K for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:12 -0400 Received: from mx1.redhat.com ([209.132.183.28]:13704) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4e-0000nb-Tg for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:10 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6012F30B96C4; Thu, 11 Apr 2019 14:53:04 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 95DB0619A2; Thu, 11 Apr 2019 14:52:59 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id D159C1132B3B; Thu, 11 Apr 2019 16:52:56 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:47 +0200 Message-Id: <20190411145256.8614-7-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 11 Apr 2019 14:53:04 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 06/15] pci: Report fatal errors with error_report(), not error_printf() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S. Tsirkin" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Cc: "Michael S. Tsirkin" Cc: Marcel Apfelbaum Signed-off-by: Markus Armbruster Reviewed-by: Marcel Apfelbaum --- hw/pci/pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 6d13ef877b..1808b242dd 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -951,7 +951,7 @@ static uint16_t pci_req_id_cache_extract(PCIReqIDCache = *cache) result =3D PCI_BUILD_BDF(bus_n, 0); break; default: - error_printf("Invalid PCI requester ID cache type: %d\n", + error_report("Invalid PCI requester ID cache type: %d", cache->type); exit(1); break; --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554995170; cv=none; d=zoho.com; s=zohoarc; b=dRxJDD8pROCPf8vc0sJzRvpT0Th0vyBDiRHq6kweyMAfbA/OyNT6dM48abuSQzjOU2er6lWOtaaQOnfoAKFsaKgLTVad1HZwS2qxRrf+8FIKyX3Z8+8cOpEp299/o71celU9jmYnRMuC00HOqVgB15KPO5u+cgpbW7WTJnopl7c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554995170; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=QGo7i5ZhhvNT8id4hYgsc+Gpqp7OGwWFQzRPIxvSkic=; b=IoUSXr92MrkvPF+hiPdN4Cy7pFMRUJSx1oa/eubYdXuq67xO4Zcft1Nom5QirOkmyqBYBIxoIyAKvbyP8maz0HdIlJYa8YJVUE+r8ueS2BiFZqlZU/38LwVozYi0f/n8ToYe1uSJG7l5q6q56bJvP3VD5XcB5x2M8umY7rA9RmY= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554995170388934.7421467015263; Thu, 11 Apr 2019 08:06:10 -0700 (PDT) Received: from localhost ([127.0.0.1]:50381 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEbH9-0006Na-7w for importer@patchew.org; Thu, 11 Apr 2019 11:06:03 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39147) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4n-0003WG-4l for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4l-0000sT-2O for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33072) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4i-0000oh-Tv for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:13 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 74CE931028C4 for ; Thu, 11 Apr 2019 14:53:06 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9C9E719C6F; Thu, 11 Apr 2019 14:52:59 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id D50D41132A03; Thu, 11 Apr 2019 16:52:56 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:48 +0200 Message-Id: <20190411145256.8614-8-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Thu, 11 Apr 2019 14:53:06 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 07/15] hpet: Report warnings with warn_report(), not error_printf() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , "Michael S. Tsirkin" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Cc: "Michael S. Tsirkin" Cc: Paolo Bonzini Signed-off-by: Markus Armbruster --- hw/timer/hpet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/timer/hpet.c b/hw/timer/hpet.c index d97436bc7b..41024f39fb 100644 --- a/hw/timer/hpet.c +++ b/hw/timer/hpet.c @@ -744,7 +744,7 @@ static void hpet_realize(DeviceState *dev, Error **errp) HPETTimer *timer; =20 if (!s->intcap) { - error_printf("Hpet's intcap not initialized.\n"); + warn_report("Hpet's intcap not initialized"); } if (hpet_cfg.count =3D=3D UINT8_MAX) { /* first instance */ --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554994680; cv=none; d=zoho.com; s=zohoarc; b=hmNN8SfCe72MO7StJg9kpJYkoQSWcbQDnK6YF28qoSZxRP+itCLSNQQjjzJSlMR3VtMixRfASe6/4jhGTshrJAWnJfklxfedve4Hz0arR8TdULZx4iB94OrByBbc5a6K8YjYz6W1Q1d9U4EHN9/uJy5pYk9WraCtpWi7vG00Jlc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554994680; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=hfN6utArzJ0Q+aTTpEj6bfs1Pgpc7oeBTQsthPA15pc=; b=bwElyO5sNwC9DjG24PkAdEoE7V3FYUHACy5WozoYKXcND4ig/ZjX4xgLhynkE740lmke+w/EPrc6rZ22o8H/tPCK0oKWbD6fC1u14O0ug/93i9XYzlcLWr9v18oZjs/Xbc4QOKzJwW3hMgtatDPN5gFDCEWpRgIliv4BWAShWTU= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 15549946808801015.4596006246941; Thu, 11 Apr 2019 07:58:00 -0700 (PDT) Received: from localhost ([127.0.0.1]:50229 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb9J-0007IK-Rd for importer@patchew.org; Thu, 11 Apr 2019 10:57:57 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39001) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4d-0003Mx-1C for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4b-0000o4-34 for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:06 -0400 Received: from mx1.redhat.com ([209.132.183.28]:4041) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4X-0000lj-Um for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:03 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C23F69AE78 for ; Thu, 11 Apr 2019 14:53:00 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9DB8E19747; Thu, 11 Apr 2019 14:52:59 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id D882A11329CD; Thu, 11 Apr 2019 16:52:56 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:49 +0200 Message-Id: <20190411145256.8614-9-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Thu, 11 Apr 2019 14:53:00 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 08/15] vfio: Report warnings with warn_report(), not error_printf() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alex Williamson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Cc: Alex Williamson Signed-off-by: Markus Armbruster --- hw/vfio/pci.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 504019c458..0142819ea6 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -947,8 +947,10 @@ static void vfio_pci_size_rom(VFIOPCIDevice *vdev) if (vdev->pdev.romfile || !vdev->pdev.rom_bar) { /* Since pci handles romfile, just print a message and return */ if (vfio_blacklist_opt_rom(vdev) && vdev->pdev.romfile) { - error_printf("Warning : Device at %s is known to cause system = instability issues during option rom execution. Proceeding anyway since use= r specified romfile\n", - vdev->vbasedev.name); + warn_report("Device at %s is known to cause system instability" + " issues during option rom execution", + vdev->vbasedev.name); + error_printf("Proceeding anyway since user specified romfile\n= "); } return; } @@ -973,11 +975,16 @@ static void vfio_pci_size_rom(VFIOPCIDevice *vdev) =20 if (vfio_blacklist_opt_rom(vdev)) { if (dev->opts && qemu_opt_get(dev->opts, "rombar")) { - error_printf("Warning : Device at %s is known to cause system = instability issues during option rom execution. Proceeding anyway since use= r specified non zero value for rombar\n", - vdev->vbasedev.name); + warn_report("Device at %s is known to cause system instability" + " issues during option rom execution", + vdev->vbasedev.name); + error_printf("Proceeding anyway since user specified" + " non zero value for rombar\n"); } else { - error_printf("Warning : Rom loading for device at %s has been = disabled due to system instability issues. Specify rombar=3D1 or romfile to= force\n", - vdev->vbasedev.name); + warn_report("Rom loading for device at %s has been disabled" + " due to system instability issues", + vdev->vbasedev.name); + error_printf("Specify rombar=3D1 or romfile to force\n"); return; } } --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554994556; cv=none; d=zoho.com; s=zohoarc; b=i+a9QQJEDbGIYpOxUaCTv/TnG/nubQ5x58B5TEwOvD3nA8zRc5zVEbmnHwqNsu9uQ71nsaywFwVCpim9Q48GQuOXt4CJ6air/dis51Ee8UAN8jKwkfBQiLeyBZXxfPGOetyO1C87SFk0jFXL8FbkINK4wfpDY5hM/hRhk1OJZ5U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554994556; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=p9Ywb+zwF+s25tq8kzDGgK/h1bdp+iKU6DsDE/GJXwI=; b=eecEH9aW2eaRTXvJw01LBdxyf760cMTD8/r290PuJLocVKjei3vGHcJB0/4KN8mh5XW29UmSjVKHXL3O4A/hQ2YlJEMfiyvuQiLwktHsnGWKW1bDyNTKIKFls11H7AG1EAhZ+ErrDvbUNfF0RN/qmFafCqR6RS4OVnYVXJqaSOA= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 155499455694763.457977488061715; Thu, 11 Apr 2019 07:55:56 -0700 (PDT) Received: from localhost ([127.0.0.1]:50202 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb7J-0005MC-Rp for importer@patchew.org; Thu, 11 Apr 2019 10:55:53 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38964) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4b-0003Kv-1Z for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4X-0000lo-2o for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:28361) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4W-0000kx-OM; Thu, 11 Apr 2019 10:53:00 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0031A30B96F6; Thu, 11 Apr 2019 14:53:00 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C381018502; Thu, 11 Apr 2019 14:52:59 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id DC08111329CF; Thu, 11 Apr 2019 16:52:56 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:50 +0200 Message-Id: <20190411145256.8614-10-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 11 Apr 2019 14:53:00 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 09/15] s390x/kvm: Report warnings with warn_report(), not error_printf() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth , qemu-s390x@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" kvm_s390_mem_op() can fail in two ways: when !cap_mem_op, it returns -ENOSYS, and when kvm_vcpu_ioctl() fails, it returns -errno set by ioctl(). Its caller s390_cpu_virt_mem_rw() recovers from both failures. kvm_s390_mem_op() prints "KVM_S390_MEM_OP failed" with error_printf() in the latter failure mode. Since this is obviously a warning, use warn_report(). Perhaps the reporting should be left to the caller. It could warn on failure other than -ENOSYS. Cc: Thomas Huth Cc: qemu-s390x@nongnu.org Signed-off-by: Markus Armbruster Reviewed-by: Thomas Huth Reviewed-by: Cornelia Huck --- target/s390x/kvm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c index 19530fb94e..2c6e35b5aa 100644 --- a/target/s390x/kvm.c +++ b/target/s390x/kvm.c @@ -782,7 +782,7 @@ int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t a= r, void *hostbuf, =20 ret =3D kvm_vcpu_ioctl(CPU(cpu), KVM_S390_MEM_OP, &mem_op); if (ret < 0) { - error_printf("KVM_S390_MEM_OP failed: %s\n", strerror(-ret)); + warn_report("KVM_S390_MEM_OP failed: %s", strerror(-ret)); } return ret; } --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554994680; cv=none; d=zoho.com; s=zohoarc; b=Z4ZWsdhJEJStCvFe9kH2+15i3ISiJ/8s/u3jftzoVdyGJQyS6NT5H1ZteNNuEbmPRK3up8z1WAmz2jFrYyPEMDwvhSpJjIt41zAG6BlHxcXxTAueJJHeanvHC8z6GRlTQKm9Wzm8yZ1yrsg7nDoEeh/KIXU1So8AbjgBRWrVRIk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554994680; h=Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=tO32Up+rPh8Ug+r90uycXLSSLxH6ZXrng317UtW4j7g=; b=Eh0tZwYlNlRKJAeVCynTKEFiDfSomw4XC94EOoglBDJtThy6lbI57d+ecPaxS5uVWK1ID8amqR+GJFpmIH9mRnhknGOT8l80wmlGszBh/InJ3tLsQ0zgo3+m/N1oO0i4o1TQi9naq9QeEPu3E3sSn4k8ueFsmEnHEDLHLa1bwI4= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554994680253383.4849385629933; Thu, 11 Apr 2019 07:58:00 -0700 (PDT) Received: from localhost ([127.0.0.1]:50225 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb9F-0007DR-62 for importer@patchew.org; Thu, 11 Apr 2019 10:57:53 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38965) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4b-0003Kw-1b for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4X-0000lu-42 for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:32928) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4W-0000l0-QP for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:01 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 074A1307E051; Thu, 11 Apr 2019 14:53:00 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CC49F5D9C4; Thu, 11 Apr 2019 14:52:59 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id DF7D911329F5; Thu, 11 Apr 2019 16:52:56 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:51 +0200 Message-Id: <20190411145256.8614-11-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Thu, 11 Apr 2019 14:53:00 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 10/15] vl: Make -machine $TYPE, help and -accel help print to stdout X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Command line help help explicitly requested by the user should be printed to stdout, not stderr. We do elsewhere. Adjust -machine $TYPE,help and -accel help to match: use printf() instead of error_printf(). Cc: Marcel Apfelbaum Signed-off-by: Markus Armbruster Reviewed-by: Marcel Apfelbaum --- vl.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/vl.c b/vl.c index c696ad2a13..fdfa1c7453 100644 --- a/vl.c +++ b/vl.c @@ -1556,12 +1556,12 @@ static int machine_help_func(QemuOpts *opts, Machin= eState *machine) continue; } =20 - error_printf("%s.%s=3D%s", MACHINE_GET_CLASS(machine)->name, - prop->name, prop->type); + printf("%s.%s=3D%s", MACHINE_GET_CLASS(machine)->name, + prop->name, prop->type); if (prop->description) { - error_printf(" (%s)\n", prop->description); + printf(" (%s)\n", prop->description); } else { - error_printf("\n"); + printf("\n"); } } =20 @@ -3643,7 +3643,7 @@ int main(int argc, char **argv, char **envp) optarg, true); optarg =3D qemu_opt_get(accel_opts, "accel"); if (!optarg || is_help_option(optarg)) { - error_printf("Possible accelerators: kvm, xen, hax, tc= g\n"); + printf("Possible accelerators: kvm, xen, hax, tcg\n"); exit(0); } opts =3D qemu_opts_create(qemu_find_opts("machine"), NULL, --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554994731; cv=none; d=zoho.com; s=zohoarc; b=UuWr+j0vk98I9Ai6nfCWYaYZwFsNIVaMtxVJ/1GelmwC86a0j2vScyJ9Qj4rzt+Y+6PHttWtQzJ5dU+h3VvXpquc171gxiu2CrU4er1iVv8xIBPfvC2g6kUPMIJm8IfdyfJ3Kwi+5kW+GCUnERbZfvx44s9CxdC3F8Mx9tfdANg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554994731; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=qRIg8U5YdveCOxpGVCMqRxwVhtnJodtKeQcxf/IhZ34=; b=Oi6XeE2fWJhw2yB2ZRc+5ny0syi/PvrRWYt4q8QgSDiLblz88POeAT+oluES758NIrxf+Y6OF/nsHM8XLbaXYktmr5DUleeCmRF414gqkNknBN8wljNNfRZPm2HSVi34jLETn/WAsSDtVQ2/xg5if4UGUlTjwSGzjhlXMvEHdGc= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554994731397701.1262318102107; Thu, 11 Apr 2019 07:58:51 -0700 (PDT) Received: from localhost ([127.0.0.1]:50231 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEbA6-0007w7-9s for importer@patchew.org; Thu, 11 Apr 2019 10:58:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38971) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4b-0003L0-3T for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4X-0000mK-Dy for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:14670) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4X-0000lF-1z for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:01 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4A5B2653E1 for ; Thu, 11 Apr 2019 14:53:00 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E45865D9C8; Thu, 11 Apr 2019 14:52:59 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id E32151132988; Thu, 11 Apr 2019 16:52:56 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:52 +0200 Message-Id: <20190411145256.8614-12-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 11 Apr 2019 14:53:00 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 11/15] monitor error: Make printf()-like functions return a value X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Dr . David Alan Gilbert" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" printf() & friends return the number of characters written on success, negative value on error. monitor_printf(), monitor_vfprintf(), monitor_vprintf(), error_printf(), error_printf_unless_qmp(), error_vprintf(), and error_vprintf_unless_qmp() return void. Some of them carry a TODO comment asking for int instead. Improve them to return int like printf() does. This makes our use of monitor_printf() as fprintf_function slightly less dirty: the function cast no longer adds a return value that isn't there. It still changes a parameter's pointer type. That will be addressed in a future commit. monitor_vfprintf() always returns zero. Improve it to return the proper value. Cc: Dr. David Alan Gilbert Signed-off-by: Markus Armbruster Reviewed-by: Dr. David Alan Gilbert --- include/monitor/monitor.h | 8 ++--- include/qemu/error-report.h | 8 ++--- monitor.c | 61 ++++++++++++++++++++----------------- stubs/error-printf.c | 13 +++++--- util/qemu-error.c | 12 +++++--- 5 files changed, 57 insertions(+), 45 deletions(-) diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h index c1b40a9cac..e4c3717454 100644 --- a/include/monitor/monitor.h +++ b/include/monitor/monitor.h @@ -28,9 +28,9 @@ void monitor_resume(Monitor *mon); int monitor_get_fd(Monitor *mon, const char *fdname, Error **errp); int monitor_fd_param(Monitor *mon, const char *fdname, Error **errp); =20 -void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap) +int monitor_vprintf(Monitor *mon, const char *fmt, va_list ap) GCC_FMT_ATTR(2, 0); -void monitor_printf(Monitor *mon, const char *fmt, ...) GCC_FMT_ATTR(2, 3); +int monitor_printf(Monitor *mon, const char *fmt, ...) GCC_FMT_ATTR(2, 3); int monitor_fprintf(FILE *stream, const char *fmt, ...) GCC_FMT_ATTR(2, 3); void monitor_flush(Monitor *mon); int monitor_set_cpu(int cpu_index); @@ -48,7 +48,7 @@ int monitor_fdset_dup_fd_add(int64_t fdset_id, int dup_fd= ); void monitor_fdset_dup_fd_remove(int dup_fd); int monitor_fdset_dup_fd_find(int dup_fd); =20 -void monitor_vfprintf(FILE *stream, - const char *fmt, va_list ap) GCC_FMT_ATTR(2, 0); +int monitor_vfprintf(FILE *stream, + const char *fmt, va_list ap) GCC_FMT_ATTR(2, 0); =20 #endif /* MONITOR_H */ diff --git a/include/qemu/error-report.h b/include/qemu/error-report.h index 0a8d9cc9ea..5db4e5db0d 100644 --- a/include/qemu/error-report.h +++ b/include/qemu/error-report.h @@ -30,10 +30,10 @@ void loc_set_none(void); void loc_set_cmdline(char **argv, int idx, int cnt); void loc_set_file(const char *fname, int lno); =20 -void error_vprintf(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0); -void error_printf(const char *fmt, ...) GCC_FMT_ATTR(1, 2); -void error_vprintf_unless_qmp(const char *fmt, va_list ap) GCC_FMT_ATTR(1,= 0); -void error_printf_unless_qmp(const char *fmt, ...) GCC_FMT_ATTR(1, 2); +int error_vprintf(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0); +int error_printf(const char *fmt, ...) GCC_FMT_ATTR(1, 2); +int error_vprintf_unless_qmp(const char *fmt, va_list ap) GCC_FMT_ATTR(1, = 0); +int error_printf_unless_qmp(const char *fmt, ...) GCC_FMT_ATTR(1, 2); void error_set_progname(const char *argv0); =20 void error_vreport(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0); diff --git a/monitor.c b/monitor.c index 4807bbe811..7b4a78d798 100644 --- a/monitor.c +++ b/monitor.c @@ -430,15 +430,14 @@ void monitor_flush(Monitor *mon) } =20 /* flush at every end of line */ -static void monitor_puts(Monitor *mon, const char *str) +static int monitor_puts(Monitor *mon, const char *str) { + int i; char c; =20 qemu_mutex_lock(&mon->mon_lock); - for(;;) { - c =3D *str++; - if (c =3D=3D '\0') - break; + for (i =3D 0; str[i]; i++) { + c =3D str[i]; if (c =3D=3D '\n') { qstring_append_chr(mon->outbuf, '\r'); } @@ -448,39 +447,48 @@ static void monitor_puts(Monitor *mon, const char *st= r) } } qemu_mutex_unlock(&mon->mon_lock); + + return i; } =20 -void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap) +int monitor_vprintf(Monitor *mon, const char *fmt, va_list ap) { char *buf; + int n; =20 if (!mon) - return; + return -1; =20 if (monitor_is_qmp(mon)) { - return; + return -1; } =20 buf =3D g_strdup_vprintf(fmt, ap); - monitor_puts(mon, buf); + n =3D monitor_puts(mon, buf); g_free(buf); + return n; } =20 -void monitor_printf(Monitor *mon, const char *fmt, ...) +int monitor_printf(Monitor *mon, const char *fmt, ...) { + int ret; + va_list ap; va_start(ap, fmt); - monitor_vprintf(mon, fmt, ap); + ret =3D monitor_vprintf(mon, fmt, ap); va_end(ap); + return ret; } =20 int monitor_fprintf(FILE *stream, const char *fmt, ...) { + int ret; + va_list ap; va_start(ap, fmt); - monitor_vprintf((Monitor *)stream, fmt, ap); + ret =3D monitor_vprintf((Monitor *)stream, fmt, ap); va_end(ap); - return 0; + return ret; } =20 static void qmp_send_response(Monitor *mon, const QDict *rsp) @@ -4535,35 +4543,32 @@ static void monitor_readline_flush(void *opaque) =20 /* * Print to current monitor if we have one, else to stream. - * TODO should return int, so callers can calculate width, but that - * requires surgery to monitor_vprintf(). Left for another day. */ -void monitor_vfprintf(FILE *stream, const char *fmt, va_list ap) +int monitor_vfprintf(FILE *stream, const char *fmt, va_list ap) { if (cur_mon && !monitor_cur_is_qmp()) { - monitor_vprintf(cur_mon, fmt, ap); - } else { - vfprintf(stream, fmt, ap); + return monitor_vprintf(cur_mon, fmt, ap); } + return vfprintf(stream, fmt, ap); } =20 /* * Print to current monitor if we have one, else to stderr. - * TODO should return int, so callers can calculate width, but that - * requires surgery to monitor_vprintf(). Left for another day. */ -void error_vprintf(const char *fmt, va_list ap) +int error_vprintf(const char *fmt, va_list ap) { - monitor_vfprintf(stderr, fmt, ap); + return monitor_vfprintf(stderr, fmt, ap); } =20 -void error_vprintf_unless_qmp(const char *fmt, va_list ap) +int error_vprintf_unless_qmp(const char *fmt, va_list ap) { - if (cur_mon && !monitor_cur_is_qmp()) { - monitor_vprintf(cur_mon, fmt, ap); - } else if (!cur_mon) { - vfprintf(stderr, fmt, ap); + if (!cur_mon) { + return vfprintf(stderr, fmt, ap); } + if (!monitor_cur_is_qmp()) { + return monitor_vprintf(cur_mon, fmt, ap); + } + return -1; } =20 static void monitor_list_append(Monitor *mon) diff --git a/stubs/error-printf.c b/stubs/error-printf.c index 99c6406668..1f9d3b3714 100644 --- a/stubs/error-printf.c +++ b/stubs/error-printf.c @@ -2,19 +2,22 @@ #include "qemu-common.h" #include "qemu/error-report.h" =20 -void error_vprintf(const char *fmt, va_list ap) +int error_vprintf(const char *fmt, va_list ap) { + int ret; + if (g_test_initialized() && !g_test_subprocess() && getenv("QTEST_SILENT_ERRORS")) { char *msg =3D g_strdup_vprintf(fmt, ap); g_test_message("%s", msg); + ret =3D strlen(msg); g_free(msg); - } else { - vfprintf(stderr, fmt, ap); + return ret; } + return vfprintf(stderr, fmt, ap); } =20 -void error_vprintf_unless_qmp(const char *fmt, va_list ap) +int error_vprintf_unless_qmp(const char *fmt, va_list ap) { - error_vprintf(fmt, ap); + return error_vprintf(fmt, ap); } diff --git a/util/qemu-error.c b/util/qemu-error.c index fcbe8a1f74..36eb3ea239 100644 --- a/util/qemu-error.c +++ b/util/qemu-error.c @@ -24,22 +24,26 @@ typedef enum { REPORT_TYPE_INFO, } report_type; =20 -void error_printf(const char *fmt, ...) +int error_printf(const char *fmt, ...) { va_list ap; + int ret; =20 va_start(ap, fmt); - error_vprintf(fmt, ap); + ret =3D error_vprintf(fmt, ap); va_end(ap); + return ret; } =20 -void error_printf_unless_qmp(const char *fmt, ...) +int error_printf_unless_qmp(const char *fmt, ...) { va_list ap; + int ret; =20 va_start(ap, fmt); - error_vprintf_unless_qmp(fmt, ap); + ret =3D error_vprintf_unless_qmp(fmt, ap); va_end(ap); + return ret; } =20 static Location std_loc =3D { --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554994856; cv=none; d=zoho.com; s=zohoarc; b=ZT5Jnuhg3E5RlCB3fcj3OskvCh3oXZg3u3jkPcFwZpJ7zsqv+qV7PFfDKDQISF9nlvST+nkfCAPktmd2m+mCRh0JvnDA7wRMFMFEQBkS53KoDv3cJnjmSOfF/sRY/NpU+IcENqsYXpPOevmOX2J/cRhGuRbUNUwCId17arHnmWw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554994856; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=C2+CMO0zP6I7wyAp8lVFOM7VNXWwdS2serYp8zZ+Edk=; b=YiIM5Zgby7RfCmGkKnnysjvEXD3ef+zH1KfFUaPNEgV9Er20tJi759EUpo3cu3OagCLBD49vrvBD2I0V9ZLcXUh2Mvln2dz6BsSH5yaqsiPM5GaMVlwFQwJLTqO9hzsUiLOq4CoPzbYydo/4XltprCTDMbl/038xHeQpz2ta61c= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554994856843384.5084469807574; Thu, 11 Apr 2019 08:00:56 -0700 (PDT) Received: from localhost ([127.0.0.1]:50288 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEbC7-0001c9-Os for importer@patchew.org; Thu, 11 Apr 2019 11:00:51 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39146) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4n-0003WF-4f for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4l-0000sg-3n for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:43826) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4i-0000nG-TQ for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:13 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 512BC3167E40 for ; Thu, 11 Apr 2019 14:53:03 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EC159108F82D; Thu, 11 Apr 2019 14:52:59 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id EACDB113298A; Thu, 11 Apr 2019 16:52:56 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:53 +0200 Message-Id: <20190411145256.8614-13-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.41]); Thu, 11 Apr 2019 14:53:03 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 12/15] qemu-print: New qemu_printf(), qemu_vprintf() etc. X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Dr . David Alan Gilbert" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" We commonly want to print to the current monitor if we have one, else to stdout/stderr. For stderr, have error_printf(). For stdout, all we have is monitor_vfprintf(), which is rather unwieldy. We often print to stderr just because error_printf() is easier. New qemu_printf() and qemu_vprintf() do exactly what's needed. The next commits will put them to use. Cc: Dr. David Alan Gilbert Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Dr. David Alan Gilbert --- MAINTAINERS | 2 ++ include/qemu/qemu-print.h | 19 ++++++++++++++++++ stubs/monitor.c | 5 +++++ tests/test-util-sockets.c | 1 + util/Makefile.objs | 1 + util/qemu-print.c | 42 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 70 insertions(+) create mode 100644 include/qemu/qemu-print.h create mode 100644 util/qemu-print.c diff --git a/MAINTAINERS b/MAINTAINERS index 56139ac8ab..1aa19dc4ef 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1895,6 +1895,8 @@ F: hmp.[ch] F: hmp-commands*.hx F: include/monitor/hmp-target.h F: tests/test-hmp.c +F: include/qemu/qemu-print.h +F: util/qemu-print.c =20 Network device backends M: Jason Wang diff --git a/include/qemu/qemu-print.h b/include/qemu/qemu-print.h new file mode 100644 index 0000000000..8fed32bf42 --- /dev/null +++ b/include/qemu/qemu-print.h @@ -0,0 +1,19 @@ +/* + * Print to stream or current monitor + * + * Copyright (C) 2019 Red Hat Inc. + * + * Authors: + * Markus Armbruster , + * + * This work is licensed under the terms of the GNU GPL, version 2 or late= r. + * See the COPYING file in the top-level directory. + */ + +#ifndef QEMU_PRINT_H +#define QEMU_PRINT_H + +int qemu_vprintf(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0); +int qemu_printf(const char *fmt, ...) GCC_FMT_ATTR(1, 2); + +#endif diff --git a/stubs/monitor.c b/stubs/monitor.c index b57fe6c32f..b2ea975e40 100644 --- a/stubs/monitor.c +++ b/stubs/monitor.c @@ -6,6 +6,11 @@ =20 __thread Monitor *cur_mon; =20 +int monitor_vprintf(Monitor *mon, const char *fmt, va_list ap) +{ + abort(); +} + int monitor_get_fd(Monitor *mon, const char *name, Error **errp) { error_setg(errp, "only QEMU supports file descriptor passing"); diff --git a/tests/test-util-sockets.c b/tests/test-util-sockets.c index 6195a3ac36..fd1ced058c 100644 --- a/tests/test-util-sockets.c +++ b/tests/test-util-sockets.c @@ -70,6 +70,7 @@ int monitor_get_fd(Monitor *mon, const char *fdname, Erro= r **errp) * otherwise we get duplicate syms at link time. */ __thread Monitor *cur_mon; +int monitor_vprintf(Monitor *mon, const char *fmt, va_list ap) { abort(); } void monitor_init(Chardev *chr, int flags) {} =20 =20 diff --git a/util/Makefile.objs b/util/Makefile.objs index 835fcd69e2..9206878dec 100644 --- a/util/Makefile.objs +++ b/util/Makefile.objs @@ -23,6 +23,7 @@ util-obj-y +=3D bitmap.o bitops.o hbitmap.o util-obj-y +=3D fifo8.o util-obj-y +=3D cacheinfo.o util-obj-y +=3D error.o qemu-error.o +util-obj-y +=3D qemu-print.o util-obj-y +=3D id.o util-obj-y +=3D iov.o qemu-config.o qemu-sockets.o uri.o notify.o util-obj-y +=3D qemu-option.o qemu-progress.o diff --git a/util/qemu-print.c b/util/qemu-print.c new file mode 100644 index 0000000000..86f9417af8 --- /dev/null +++ b/util/qemu-print.c @@ -0,0 +1,42 @@ +/* + * Print to stream or current monitor + * + * Copyright (C) 2019 Red Hat Inc. + * + * Authors: + * Markus Armbruster , + * + * This work is licensed under the terms of the GNU GPL, version 2 or late= r. + * See the COPYING file in the top-level directory. + */ + +#include "qemu/osdep.h" +#include "monitor/monitor.h" +#include "qemu/qemu-print.h" + +/* + * Print like vprintf(). + * Print to current monitor if we have one, else to stdout. + */ +int qemu_vprintf(const char *fmt, va_list ap) +{ + if (cur_mon) { + return monitor_vprintf(cur_mon, fmt, ap); + } + return vprintf(fmt, ap); +} + +/* + * Print like printf(). + * Print to current monitor if we have one, else to stdout. + */ +int qemu_printf(const char *fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + ret =3D qemu_vprintf(fmt, ap); + va_end(ap); + return ret; +} --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554995025; cv=none; d=zoho.com; s=zohoarc; b=VtbDm4dGh9Vxj8H8EfSLo4XyfzdCh1F4xKWHKl3BUnAeDDgxNhj/T+FKoMAYoLWxqZOHrLw5omR+TErSxikebArD8Q4WY6t6YABQ7OpOhT1ESYtaBTh24G4B5Q3GjlxGwyAUv5XA6/Mshvu+roQ7Kys2FPEgFQLS8XOQcjqJFbg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554995025; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=BsJ1qV2Yjcj3QqoLXsxiT2nzRH91931cJZuWJsaglNA=; b=Q5IEaisvGeSrEiHzmAbD8EeXrd/KFxG3aJwBB7wceMxl4nIO0dPVdM6ip1FN8fTRU4UrS6NfMBGp2oxwXvogkE+isbZqOsbMb3IR3jC3DBam3CjJuFv+PwSCk1cLPuAAEh3U6pBAU+dl9vtoUhZVQVN++Vp5T5oLJCHsiFvZWf4= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554995025466444.67435162649986; Thu, 11 Apr 2019 08:03:45 -0700 (PDT) Received: from localhost ([127.0.0.1]:50329 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEbEq-0004Km-Gd for importer@patchew.org; Thu, 11 Apr 2019 11:03:40 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39148) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4n-0003WH-4o for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4l-0000sa-3G for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:32964) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4d-0000mI-3a; Thu, 11 Apr 2019 10:53:09 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 412FB307CB40; Thu, 11 Apr 2019 14:53:01 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 098825D9C8; Thu, 11 Apr 2019 14:53:01 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id F00ED113292F; Thu, 11 Apr 2019 16:52:56 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:54 +0200 Message-Id: <20190411145256.8614-14-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Thu, 11 Apr 2019 14:53:01 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 13/15] blockdev: Make -drive format=help print to stdout X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , qemu-block@nongnu.org, Max Reitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Command line help explicitly requested by the user should be printed to stdout, not stderr. We do elsewhere. Adjust -drive to match: use qemu_printf() instead of error_printf(). Plain printf() would be wrong because we need to print to the current monitor for "drive_add ... format=3Dhelp". Cc: Kevin Wolf Cc: Max Reitz Cc: qemu-block@nongnu.org Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 --- blockdev.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/blockdev.c b/blockdev.c index 4775a07d93..79fbac8450 100644 --- a/blockdev.c +++ b/blockdev.c @@ -40,6 +40,7 @@ #include "monitor/monitor.h" #include "qemu/error-report.h" #include "qemu/option.h" +#include "qemu/qemu-print.h" #include "qemu/config-file.h" #include "qapi/qapi-commands-block.h" #include "qapi/qapi-commands-transaction.h" @@ -301,7 +302,7 @@ DriveInfo *drive_get_next(BlockInterfaceType type) =20 static void bdrv_format_print(void *opaque, const char *name) { - error_printf(" %s", name); + qemu_printf(" %s", name); } =20 typedef struct { @@ -530,11 +531,11 @@ static BlockBackend *blockdev_init(const char *file, = QDict *bs_opts, =20 if ((buf =3D qemu_opt_get(opts, "format")) !=3D NULL) { if (is_help_option(buf)) { - error_printf("Supported formats:"); + qemu_printf("Supported formats:"); bdrv_iterate_format(bdrv_format_print, NULL, false); - error_printf("\nSupported formats (read-only):"); + qemu_printf("\nSupported formats (read-only):"); bdrv_iterate_format(bdrv_format_print, NULL, true); - error_printf("\n"); + qemu_printf("\n"); goto early_err; } =20 --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554995332; cv=none; d=zoho.com; s=zohoarc; b=jRBl/JLSwXho3a2hL/vSHVPTY1jQ6yuyT3enuE4uLMKBlL99xlpGsDoYWQNXQTjOQcJBzgLgDqLMm82KW+ALdUD01fg4pH2iVyEGFzqs0cQqs8Zde+PobXUqzLQlSiKk+3xWD0aFwuLzVZV62BxFSsgMAYA71p9w7+h+m1gtk04= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554995332; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=iPmM2Uwnu/93xgyaHKxCID/riue/9sRsZycOO+1BO4M=; b=CVBhDwhQgKc3PeQ8vfLxLDvkz1vpRuRQEni2JFw69YKtnkWYNYuNVqu3EuSdLuxd75a7Qa9EX4WWzI/P2jbNhKdwYREsaoSMs3KPDFM8kWGFwoEtxkqnQ9ySbqp1VsPEg2qnd+g8bYyXwLHbL3/CEk8LRolegePPiUFTJJYUe88= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554995332613611.6670273107761; Thu, 11 Apr 2019 08:08:52 -0700 (PDT) Received: from localhost ([127.0.0.1]:50411 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEbJp-000888-KS for importer@patchew.org; Thu, 11 Apr 2019 11:08:49 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39113) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4l-0003Vp-53 for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4j-0000rz-3j for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:15 -0400 Received: from mx1.redhat.com ([209.132.183.28]:15597) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4i-0000nL-Pe for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:13 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6BC2880E4B for ; Thu, 11 Apr 2019 14:53:03 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 10DBD5D705; Thu, 11 Apr 2019 14:53:01 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 0121711327DB; Thu, 11 Apr 2019 16:52:57 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:55 +0200 Message-Id: <20190411145256.8614-15-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Thu, 11 Apr 2019 14:53:03 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 14/15] char: Make -chardev help print to stdout X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Command line help explicitly requested by the user should be printed to stdout, not stderr. We do elsewhere. Adjust -chardev to match: use qemu_printf() instead of error_printf(). Plain printf() would be wrong because we need to print to the current monitor for "chardev-add help". Cc: "Marc-Andr=C3=A9 Lureau" Cc: Paolo Bonzini Signed-off-by: Markus Armbruster Reviewed-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 --- chardev/char.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chardev/char.c b/chardev/char.c index 514cd6b0c3..54724a56b1 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -28,6 +28,7 @@ #include "sysemu/sysemu.h" #include "qemu/config-file.h" #include "qemu/error-report.h" +#include "qemu/qemu-print.h" #include "chardev/char.h" #include "qapi/error.h" #include "qapi/qapi-commands-char.h" @@ -651,7 +652,7 @@ Chardev *qemu_chr_new_from_opts(QemuOpts *opts, GMainCo= ntext *context, =20 chardev_name_foreach(help_string_append, str); =20 - error_printf("Available chardev backend types: %s\n", str->str); + qemu_printf("Available chardev backend types: %s\n", str->str); g_string_free(str, true); return NULL; } --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1554995248; cv=none; d=zoho.com; s=zohoarc; b=UQIenA5rFF1NvvmQf71DqOU5NXZ4QdS/cAnPHvi8eX0oEHD6LacPkYvxRdURR9fKv9DZbdo3KCYdBQGXETO4aFLGSJdC4odJuTBNNJPqEYPKH5umtLnSTjSphYMI+xSuC5iV24gnMFZJWcLQybxvy1QK1j9FuDB51d4lObXIPoo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1554995248; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=IfY71svwZG4+WMFTFv/M1tZW78r+WU66WyCIv+838CQ=; b=hdFZjkdVxzDg8+3x0LC+A0IYUEDR4kn9ViA/atBfl8gv5m/epU0GYNwZ/oBQ1yZ0oUXzqIyVAanuh2e4XHGwudJyMEp0s7oPvIntPxmSCvoaQXjDIPyIS3YoI64gCavhxryKnjq6iKYWyAKdnsc32QKEJVErwUS4qLgTyphMRS0= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1554995248910143.8097732181044; Thu, 11 Apr 2019 08:07:28 -0700 (PDT) Received: from localhost ([127.0.0.1]:50393 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEbIQ-0007LK-Sg for importer@patchew.org; Thu, 11 Apr 2019 11:07:22 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39112) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEb4l-0003Vn-4n for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEb4i-0000rS-OJ for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:15 -0400 Received: from mx1.redhat.com ([209.132.183.28]:9535) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEb4g-0000mf-Or for qemu-devel@nongnu.org; Thu, 11 Apr 2019 10:53:11 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8D43B5D5F6 for ; Thu, 11 Apr 2019 14:53:01 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 375291001E6E; Thu, 11 Apr 2019 14:53:01 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 064351132783; Thu, 11 Apr 2019 16:52:57 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Thu, 11 Apr 2019 16:52:56 +0200 Message-Id: <20190411145256.8614-16-armbru@redhat.com> In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> References: <20190411145256.8614-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Thu, 11 Apr 2019 14:53:01 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 15/15] monitor: Simplify how -device/device_add print help X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Dr . David Alan Gilbert" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Commit a95db58f210 added monitor_vfprintf() as an error_printf() generalized from stderr to arbitrary streams, then used it wrapped in helper out_printf() to print -device/device_add help to stdout. Use qemu_printf() instead, and delete monitor_vfprintf() and out_printf(). Cc: Dr. David Alan Gilbert Signed-off-by: Markus Armbruster Reviewed-by: Dr. David Alan Gilbert --- include/monitor/monitor.h | 3 --- monitor.c | 16 ++++------------ qdev-monitor.c | 36 ++++++++++++++---------------------- 3 files changed, 18 insertions(+), 37 deletions(-) diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h index e4c3717454..316a168c41 100644 --- a/include/monitor/monitor.h +++ b/include/monitor/monitor.h @@ -48,7 +48,4 @@ int monitor_fdset_dup_fd_add(int64_t fdset_id, int dup_fd= ); void monitor_fdset_dup_fd_remove(int dup_fd); int monitor_fdset_dup_fd_find(int dup_fd); =20 -int monitor_vfprintf(FILE *stream, - const char *fmt, va_list ap) GCC_FMT_ATTR(2, 0); - #endif /* MONITOR_H */ diff --git a/monitor.c b/monitor.c index 7b4a78d798..10be8bdb86 100644 --- a/monitor.c +++ b/monitor.c @@ -4541,23 +4541,15 @@ static void monitor_readline_flush(void *opaque) monitor_flush(opaque); } =20 -/* - * Print to current monitor if we have one, else to stream. - */ -int monitor_vfprintf(FILE *stream, const char *fmt, va_list ap) -{ - if (cur_mon && !monitor_cur_is_qmp()) { - return monitor_vprintf(cur_mon, fmt, ap); - } - return vfprintf(stream, fmt, ap); -} - /* * Print to current monitor if we have one, else to stderr. */ int error_vprintf(const char *fmt, va_list ap) { - return monitor_vfprintf(stderr, fmt, ap); + if (cur_mon && !monitor_cur_is_qmp()) { + return monitor_vprintf(cur_mon, fmt, ap); + } + return vfprintf(stderr, fmt, ap); } =20 int error_vprintf_unless_qmp(const char *fmt, va_list ap) diff --git a/qdev-monitor.c b/qdev-monitor.c index d4320986a2..373b9ad445 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -31,6 +31,7 @@ #include "qemu/error-report.h" #include "qemu/help_option.h" #include "qemu/option.h" +#include "qemu/qemu-print.h" #include "sysemu/block-backend.h" #include "migration/misc.h" =20 @@ -104,31 +105,22 @@ static bool qdev_class_has_alias(DeviceClass *dc) return (qdev_class_get_alias(dc) !=3D NULL); } =20 -static void out_printf(const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - monitor_vfprintf(stdout, fmt, ap); - va_end(ap); -} - static void qdev_print_devinfo(DeviceClass *dc) { - out_printf("name \"%s\"", object_class_get_name(OBJECT_CLASS(dc))); + qemu_printf("name \"%s\"", object_class_get_name(OBJECT_CLASS(dc))); if (dc->bus_type) { - out_printf(", bus %s", dc->bus_type); + qemu_printf(", bus %s", dc->bus_type); } if (qdev_class_has_alias(dc)) { - out_printf(", alias \"%s\"", qdev_class_get_alias(dc)); + qemu_printf(", alias \"%s\"", qdev_class_get_alias(dc)); } if (dc->desc) { - out_printf(", desc \"%s\"", dc->desc); + qemu_printf(", desc \"%s\"", dc->desc); } if (!dc->user_creatable) { - out_printf(", no-user"); + qemu_printf(", no-user"); } - out_printf("\n"); + qemu_printf("\n"); } =20 static void qdev_print_devinfos(bool show_no_user) @@ -164,7 +156,7 @@ static void qdev_print_devinfos(bool show_no_user) continue; } if (!cat_printed) { - out_printf("%s%s devices:\n", i ? "\n" : "", cat_name[i]); + qemu_printf("%s%s devices:\n", i ? "\n" : "", cat_name[i]); cat_printed =3D true; } qdev_print_devinfo(dc); @@ -286,20 +278,20 @@ int qdev_device_help(QemuOpts *opts) } =20 if (prop_list) { - out_printf("%s options:\n", driver); + qemu_printf("%s options:\n", driver); } else { - out_printf("There are no options for %s.\n", driver); + qemu_printf("There are no options for %s.\n", driver); } for (prop =3D prop_list; prop; prop =3D prop->next) { int len; - out_printf(" %s=3D<%s>%n", prop->value->name, prop->value->type, = &len); + qemu_printf(" %s=3D<%s>%n", prop->value->name, prop->value->type,= &len); if (prop->value->has_description) { if (len < 24) { - out_printf("%*s", 24 - len, ""); + qemu_printf("%*s", 24 - len, ""); } - out_printf(" - %s\n", prop->value->description); + qemu_printf(" - %s\n", prop->value->description); } else { - out_printf("\n"); + qemu_printf("\n"); } } =20 --=20 2.17.2 From nobody Sat May 18 22:14:57 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=temperror (zoho.com: Error in retrieving data from DNS) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1555524789; cv=none; d=zoho.com; s=zohoarc; b=dPMW7tn0JT3gULfNuwq4izBXRVw/QZX6mr9ra11zJt1DpyiF9FIj0haR9xrAhaQnpiPzTvF4uFh6v1wZJyr6Ei2zn1Hws8CkxbFMCCllAWAbMRlVhtzMR4Pa2HEQm8kU6Jf92hOQLsC5SVRAxBtuSJPDJuBJKJWnPuR6L7I6jDI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1555524789; h=Content-Type:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=3OUxxAgjUU0QOCOAx9EpyaMNLG2FaWN2C8u3DcULgk4=; b=YMynDYFuoGmdh/v2KHMIgbOVXr+huVMkApdx8Rqwfv8LheBRR3ap0LmhE7lzIJGlN4/mReOLJQwYbERwXMe2TllL0/zv4SoEouvJR+ZXFrGrlkqfXdCh89TJmKLjtSpT+hioNb7MPY3LsOYo+IDet0xtk93+5YvJPvaT0DwubGo= ARC-Authentication-Results: i=1; mx.zoho.com; spf=temperror (zoho.com: Error in retrieving data from DNS) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1555524789616997.4942232464813; Wed, 17 Apr 2019 11:13:09 -0700 (PDT) Received: from localhost ([127.0.0.1]:57629 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hGp3H-0004ek-5q for importer@patchew.org; Wed, 17 Apr 2019 14:12:55 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50918) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hGp2R-0004LL-4z for qemu-devel@nongnu.org; Wed, 17 Apr 2019 14:12:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hGp2Q-0005oZ-6t for qemu-devel@nongnu.org; Wed, 17 Apr 2019 14:12:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:23804) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hGp2P-0005oC-Us for qemu-devel@nongnu.org; Wed, 17 Apr 2019 14:12:02 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 25396301988C for ; Wed, 17 Apr 2019 18:12:01 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-116.ams2.redhat.com [10.36.116.116]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E655A1001E8A for ; Wed, 17 Apr 2019 18:12:00 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 654D21138648; Wed, 17 Apr 2019 20:11:59 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org References: <20190411145256.8614-1-armbru@redhat.com> Date: Wed, 17 Apr 2019 20:11:59 +0200 In-Reply-To: <20190411145256.8614-1-armbru@redhat.com> (Markus Armbruster's message of "Thu, 11 Apr 2019 16:52:41 +0200") Message-ID: <87mukov6vk.fsf@dusky.pond.sub.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.47]); Wed, 17 Apr 2019 18:12:01 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 14.5/15] char-pty: Print "char device redirected" message to stdout X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" char_pty_open() prints a "char device redirected to PTY_NAME (label LABEL)" message to the current monitor or else to stderr. This is not an error, so it shouldn't go to stderr. Print it to stdout instead. Why is it even printed? No other ChardevClass::open() prints anything on success. It's because you need to know PTY_NAME to actually use this char device, e.g. like e.g. "socat STDIO,cfmakeraw FILE:PTY_NAME" to use the monitor's readline interface. You can get PTY_NAME with "info chardev" (a.k.a. query-chardev for QMP), but only if you already have a monitor. Signed-off-by: Markus Armbruster --- chardev/char-pty.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chardev/char-pty.c b/chardev/char-pty.c index b034332edd..4ff2f328fa 100644 --- a/chardev/char-pty.c +++ b/chardev/char-pty.c @@ -211,8 +211,8 @@ static void char_pty_open(Chardev *chr, qemu_set_nonblock(master_fd); =20 chr->filename =3D g_strdup_printf("pty:%s", pty_name); - error_printf("char device redirected to %s (label %s)\n", - pty_name, chr->label); + qemu_printf("char device redirected to %s (label %s)\n", + pty_name, chr->label); =20 s =3D PTY_CHARDEV(chr); s->ioc =3D QIO_CHANNEL(qio_channel_file_new_fd(master_fd)); --=20 2.17.2