From nobody Sun Apr 12 06:05:47 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1770976246; cv=none; d=zohomail.com; s=zohoarc; b=V1yYbNMW3HPKZS4u58BoVe0GIqyiy3Nyj94rdntSxrjdxsw6Y2ZvIIVeWJBq4uzNosmrMA12osaNHokZJZEuw2PWH2fu3ahD+wl2vda5TP8aKSCa6sZw7DvwzNkKWk0dem65rq65Kn3oi17zEozulH7UToa6JgT5N+HwVDz8ND8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770976246; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=tpYjeot8p53E9hbudpSJPO+xYO8RwO13MoSHQweyb84=; b=K4AGjAao5T+f8EQUZIi2f0OACE0Q4VTGO8h8fjo4TWhPj6td826g74u++EkkWEWpeJrOpJH6izHxCXc/s0uwdGz3MGnw31cWUrjDzGYJEkDqmLrJfH/mZV3mQsCDTXHQRvRtu1LyQJGtTl0auBMPSiGMi8hwhmD5IRBMMXgSWkE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1770976246643987.4677983068902; Fri, 13 Feb 2026 01:50:46 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1230437.1535946 (Exim 4.92) (envelope-from ) id 1vqpoj-0004gV-6u; Fri, 13 Feb 2026 09:50:29 +0000 Received: by outflank-mailman (output) from mailman id 1230437.1535946; Fri, 13 Feb 2026 09:50:29 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vqpoj-0004eq-0p; Fri, 13 Feb 2026 09:50:29 +0000 Received: by outflank-mailman (input) for mailman id 1230437; Fri, 13 Feb 2026 09:50:28 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vqpoi-0001Na-EU for xen-devel@lists.xenproject.org; Fri, 13 Feb 2026 09:50:28 +0000 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 6c54edcd-08c1-11f1-b163-2bf370ae4941; Fri, 13 Feb 2026 10:50:27 +0100 (CET) Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-524-qJo4xogmOe6TKqmwW-010Q-1; Fri, 13 Feb 2026 04:50:23 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 230C2196C402; Fri, 13 Feb 2026 09:50:21 +0000 (UTC) Received: from localhost (unknown [10.44.22.41]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 4F8FC180067C; Fri, 13 Feb 2026 09:50:20 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 6c54edcd-08c1-11f1-b163-2bf370ae4941 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770976226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tpYjeot8p53E9hbudpSJPO+xYO8RwO13MoSHQweyb84=; b=YsvJpCaydBJzkf+9rxNZdtmIwLukSZCSHwvi7kmGLLS5TvmtdJOAfvxDsN7+x/SHtJcefi hAwqlxiiyD3pidiGFV3EliNnKpduRvEhSa3+PEiZc64xJWf5c1/T9TsXZOlD64uRLiGSGv 0K3nSG042/Cbb6R1+kapqPQ2fuCWU+o= X-MC-Unique: qJo4xogmOe6TKqmwW-010Q-1 X-Mimecast-MFC-AGG-ID: qJo4xogmOe6TKqmwW-010Q_1770976221 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , "Edgar E. Iglesias" , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Eric Blake , Markus Armbruster , Paul Durrant , Anthony PERARD , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Eduardo Habkost , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Stefano Stabellini , xen-devel@lists.xenproject.org, Samuel Thibault , Vladimir Sementsov-Ogievskiy Subject: [PULL v2 12/15] char: qemu_chr_write_log() use qemu_write_full() Date: Fri, 13 Feb 2026 10:49:31 +0100 Message-ID: <20260213094938.4074478-13-marcandre.lureau@redhat.com> In-Reply-To: <20260213094938.4074478-1-marcandre.lureau@redhat.com> References: <20260213094938.4074478-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-MFC-PROC-ID: 8c7XE562pWIRUZ4y5wlRy4cWwJO6hBNaO7ItS3QihEU_1770976221 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1770976249003154100 From: Vladimir Sementsov-Ogievskiy logfd is blocking, so we don't need to care about EAGAIN. Let's simply use qemu_write_full(). Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Marc-Andr=C3=A9 Lureau Message-ID: <20260201173633.413934-2-vsementsov@yandex-team.ru> --- chardev/char.c | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/chardev/char.c b/chardev/char.c index 5d00cac2f31..4b285baf029 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -82,29 +82,17 @@ void qemu_chr_be_event(Chardev *s, QEMUChrEvent event) CHARDEV_GET_CLASS(s)->chr_be_event(s, event); } =20 -/* Not reporting errors from writing to logfile, as logs are - * defined to be "best effort" only */ static void qemu_chr_write_log(Chardev *s, const uint8_t *buf, size_t len) { - size_t done =3D 0; - ssize_t ret; - if (s->logfd < 0) { return; } =20 - while (done < len) { - retry: - ret =3D write(s->logfd, buf + done, len - done); - if (ret =3D=3D -1 && errno =3D=3D EAGAIN) { - g_usleep(100); - goto retry; - } - - if (ret <=3D 0) { - return; - } - done +=3D ret; + if (qemu_write_full(s->logfd, buf, len) < len) { + /* + * qemu_write_full() is defined with G_GNUC_WARN_UNUSED_RESULT, + * but logging is best=E2=80=91effort, we do ignore errors. + */ } } =20 --=20 2.52.0