From nobody Thu Apr 3 10:10:04 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1740572543; cv=none; d=zohomail.com; s=zohoarc; b=FfaWelDsQIwQrC6BbIrkByi0q5V2PAUm+cBSiEW74hZtGSwXUT7qV8SD25W04Aw1VVsNzxqu2ZgIMMpJUmnOx4hLMkIpmkzAUsV7/tYW+DunctAeWGXq/9xeddevQD8b2HZsgwyo9lXtvENkeyevlivK+Y6RLU/JyBcuyqwq108= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1740572543; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=qhDAGmGGHM+6yqxXlBEye9IBdnCA/gcjGLsrCbhVe9U=; b=QU+MsURZFZgrF0icT7Z9uCOrdYvYTQoCmf1V5I/zu0+PUOpnKDoGhd811XyNBNQixGeQakErXD9RLgjoqlhhW/bsPrMoVjPuyJi9waE2gaiQqUrmvbWd0LWS7K1vgRQpKqS+bi79Yc1PE3aTgZ6sjOdAadQX03awC8tvv2Bjk/s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1740572542940399.29462670684427; Wed, 26 Feb 2025 04:22:22 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tnGQ9-0007IR-M6; Wed, 26 Feb 2025 07:21:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tnGPz-0007F0-1M for qemu-devel@nongnu.org; Wed, 26 Feb 2025 07:21:39 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tnGPv-0000gL-QZ for qemu-devel@nongnu.org; Wed, 26 Feb 2025 07:21:38 -0500 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-277-xvupr2_3M9abZ29JvZ01Bw-1; Wed, 26 Feb 2025 07:21:28 -0500 Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15]) (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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id C90EE1801A17; Wed, 26 Feb 2025 12:21:27 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.45.227.242]) by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 608C219560B9; Wed, 26 Feb 2025 12:21:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1740572493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qhDAGmGGHM+6yqxXlBEye9IBdnCA/gcjGLsrCbhVe9U=; b=DBn9y3+/w4ZoPHxcn1q7S0T4j7M3XsceGzGp2GhAcMi4t/VYXzJAF1k1cqe95w4YhkMEe0 vYf6mBXuURZVWzpRYKBK/dHPSvoiFCQLBbd4gmADutlFAHvwJYO+AYaenLKHDuDypKKRRW v49IR3EgzwxsLDNgkL2Be5a/BGN4UTs= X-MC-Unique: xvupr2_3M9abZ29JvZ01Bw-1 X-Mimecast-MFC-AGG-ID: xvupr2_3M9abZ29JvZ01Bw_1740572488 From: Konstantin Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Subject: [PULL 1/3] qga: Add log to guest-fsfreeze-thaw command Date: Wed, 26 Feb 2025 14:21:18 +0200 Message-ID: <20250226122120.85790-2-kkostiuk@redhat.com> In-Reply-To: <20250226122120.85790-1-kkostiuk@redhat.com> References: <20250226122120.85790-1-kkostiuk@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15 Received-SPF: pass (zohomail.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; Received-SPF: pass client-ip=170.10.129.124; envelope-from=kkostiuk@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.44, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1740572544628019100 Reviewed-by: Daniel P. Berrang=C3=A9 Message-ID: <20241216154552.213961-2-kkostiuk@redhat.com> Signed-off-by: Konstantin Kostiuk --- qga/commands-posix.c | 2 ++ qga/commands-win32.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/qga/commands-posix.c b/qga/commands-posix.c index 6e3c15f539..12bc086d79 100644 --- a/qga/commands-posix.c +++ b/qga/commands-posix.c @@ -805,8 +805,10 @@ int64_t qmp_guest_fsfreeze_thaw(Error **errp) int ret; =20 ret =3D qmp_guest_fsfreeze_do_thaw(errp); + if (ret >=3D 0) { ga_unset_frozen(ga_state); + slog("guest-fsthaw called"); execute_fsfreeze_hook(FSFREEZE_HOOK_THAW, errp); } else { ret =3D 0; diff --git a/qga/commands-win32.c b/qga/commands-win32.c index 99c026c0a0..749fdf8895 100644 --- a/qga/commands-win32.c +++ b/qga/commands-win32.c @@ -1273,6 +1273,9 @@ int64_t qmp_guest_fsfreeze_thaw(Error **errp) qga_vss_fsfreeze(&i, false, NULL, errp); =20 ga_unset_frozen(ga_state); + + slog("guest-fsthaw called"); + return i; } =20 --=20 2.48.1 From nobody Thu Apr 3 10:10:04 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1740572539; cv=none; d=zohomail.com; s=zohoarc; b=VE2EivebOpsd8yFT/Kvl6DQKsItrzO3zgzcyuaHjV3DdRpg4QPhYEJKfqltmJ4dml8WJcMlw2LtsWLR12/sbjaat+iz6MZ1rjhKC+j1Tx4phrXUte4w+d/VPkP//YpulVOobN8jwE9GgeEUwrbXHzzkGi9lmzc97bNAg2BS0K1U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1740572539; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=9XViA2bJE9+xTgZXMqrWMnd7SRapqeTzdpfTgMV/IAs=; b=GD4LVQcigI9MFffqKrHoBKtwN69LFlHlbZYaaC70rtWfTr06En9RQ2aU1YJlXrkXcr4aR84RDEqqk7egH9TglwkcHGvGd1dUctjWiPw2EzarxAfO3AJLK/Lpl7xQvxHlkc/6l2RLm5+Dd7CpfLtUkBEkiuyjjQnR9kdqI9E8l3Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1740572539496248.0599292307653; Wed, 26 Feb 2025 04:22:19 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tnGQ7-0007HA-Ck; Wed, 26 Feb 2025 07:21:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tnGPx-0007Ey-Po for qemu-devel@nongnu.org; Wed, 26 Feb 2025 07:21:39 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tnGPu-0000gN-1q for qemu-devel@nongnu.org; Wed, 26 Feb 2025 07:21:35 -0500 Received: from mx-prod-mc-05.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-427-Kude8jXcNY-kDv8VZO0e5Q-1; Wed, 26 Feb 2025 07:21:31 -0500 Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15]) (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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E8732190F9C8; Wed, 26 Feb 2025 12:21:30 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.45.227.242]) by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 5517F19560B9; Wed, 26 Feb 2025 12:21:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1740572493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9XViA2bJE9+xTgZXMqrWMnd7SRapqeTzdpfTgMV/IAs=; b=PKaCKvQVBWiL6YAejsAJzsmfVoisraslTKF7N3CakEW1mHifjiChkBH0kmuVTG4XsibDq9 Epuggh6FsC8QTnuPxsJN2stA92T1OAExDhjyJH+GyijyH/VL7qo0MuyjpdJxDB2MSHQ3AT djgn+6HNo4l9K3rJltBWjDlsqYKaJ2I= X-MC-Unique: Kude8jXcNY-kDv8VZO0e5Q-1 X-Mimecast-MFC-AGG-ID: Kude8jXcNY-kDv8VZO0e5Q_1740572491 From: Konstantin Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Subject: [PULL 2/3] qga: Invert logic on return value in main() Date: Wed, 26 Feb 2025 14:21:19 +0200 Message-ID: <20250226122120.85790-3-kkostiuk@redhat.com> In-Reply-To: <20250226122120.85790-1-kkostiuk@redhat.com> References: <20250226122120.85790-1-kkostiuk@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15 Received-SPF: pass (zohomail.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; Received-SPF: pass client-ip=170.10.129.124; envelope-from=kkostiuk@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.44, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1740572540621019000 From: Michal Privoznik Current logic on return value ('ret' variable) in main() is error prone. The variable is initialized to EXIT_SUCCESS and then set to EXIT_FAILURE on error paths. This makes it very easy to forget to set the variable to indicate error when adding new error path, as is demonstrated by handling of initialize_agent() failure. It's simply lacking setting of the variable. There's just one case where success should be indicated: when dumping the config ('-D' cmd line argument). To resolve this, initialize the variable to failure value and set it explicitly to success value in that one specific case. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko Reviewed-by: Konstantin Kostiuk Message-ID: <8a28265f50177a8dc4c10fcf4146e85a7fd748ee.1736261360.git.mprivo= zn@redhat.com> Signed-off-by: Konstantin Kostiuk --- qga/main.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/qga/main.c b/qga/main.c index 531853e13d..eccfa33871 100644 --- a/qga/main.c +++ b/qga/main.c @@ -1579,7 +1579,7 @@ static void stop_agent(GAState *s, bool requested) =20 int main(int argc, char **argv) { - int ret =3D EXIT_SUCCESS; + int ret =3D EXIT_FAILURE; GAState *s; GAConfig *config =3D g_new0(GAConfig, 1); int socket_activation; @@ -1607,7 +1607,6 @@ int main(int argc, char **argv) socket_activation =3D check_socket_activation(); if (socket_activation > 1) { g_critical("qemu-ga only supports listening on one socket"); - ret =3D EXIT_FAILURE; goto end; } if (socket_activation) { @@ -1631,7 +1630,6 @@ int main(int argc, char **argv) =20 if (!config->method) { g_critical("unsupported listen fd type"); - ret =3D EXIT_FAILURE; goto end; } } else if (config->channel_path =3D=3D NULL) { @@ -1643,13 +1641,13 @@ int main(int argc, char **argv) config->channel_path =3D g_strdup(QGA_SERIAL_PATH_DEFAULT); } else { g_critical("must specify a path for this channel"); - ret =3D EXIT_FAILURE; goto end; } } =20 if (config->dumpconf) { config_dump(config); + ret =3D EXIT_SUCCESS; goto end; } =20 @@ -1664,6 +1662,7 @@ int main(int argc, char **argv) SERVICE_TABLE_ENTRY service_table[] =3D { { (char *)QGA_SERVICE_NAME, service_main }, { NULL, NULL } }; StartServiceCtrlDispatcher(service_table); + ret =3D EXIT_SUCCESS; } else { ret =3D run_agent(s); } --=20 2.48.1 From nobody Thu Apr 3 10:10:04 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1740572580; cv=none; d=zohomail.com; s=zohoarc; b=UyXu9/SZ96JXbR/W1hk1Xu9RIbt0H3volXYGPU4ZigLVyaPyR7iQHc2eV+FwJVhYspr3uKU2nFoWpJ/FviVZuY79obZ2+PpM5po9RFSBJhwkI+aLuO7LUxASHsiGadgeR6OSZtZY9X608Edq4J7PsSMiHsMSJ48Ci1WDcnPdKCA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1740572580; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=Xxo1EoxclsZHDgyMTn/59QwyUvAbBAPEu3qtTq1RmvM=; b=XkFUCAvukwmj31HezkaIpAKG+VvZESzwYmbU4vpdhYW2wz9uvSaTuna1ajSKpzuewIGBAXo0TlZBd2Zht3mmr4+dxbUhsXyjaJQd9HC59HiQjaCLUjAIuAnfq06ZKsLX/JsyqqrImwPWdVOasAvDJrjlRozVkvJbFTKH0or/k/g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1740572580028773.1744927954076; Wed, 26 Feb 2025 04:23:00 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tnGQA-0007Il-N4; Wed, 26 Feb 2025 07:21:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tnGQ0-0007FT-Nr for qemu-devel@nongnu.org; Wed, 26 Feb 2025 07:21:41 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tnGPy-0000gj-79 for qemu-devel@nongnu.org; Wed, 26 Feb 2025 07:21:40 -0500 Received: from mx-prod-mc-04.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-147-LvGWVOcoO1iAF9UexXgb8w-1; Wed, 26 Feb 2025 07:21:35 -0500 Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15]) (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-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 5A58F19039C2; Wed, 26 Feb 2025 12:21:33 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.45.227.242]) by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id ECA2C19560AE; Wed, 26 Feb 2025 12:21:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1740572496; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Xxo1EoxclsZHDgyMTn/59QwyUvAbBAPEu3qtTq1RmvM=; b=Z98iggH3y6xKIuUcTQjSlkcbm1mT7yCpWSQfn/7Q0ktTKt1PLgn3YEq0bRQNNqFsc7KzIs 6VLyNvMjYNKq13VT75qL2HyWKFbSNSnNzh0GKa49zFc0mAY5hC+h5s0oVeLPAh0hTH0GzG sijgUPYqy+2u3vWTBzubupAfF7qfVp4= X-MC-Unique: LvGWVOcoO1iAF9UexXgb8w-1 X-Mimecast-MFC-AGG-ID: LvGWVOcoO1iAF9UexXgb8w_1740572494 From: Konstantin Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Subject: [PULL 3/3] qga: Don't daemonize before channel is initialized Date: Wed, 26 Feb 2025 14:21:20 +0200 Message-ID: <20250226122120.85790-4-kkostiuk@redhat.com> In-Reply-To: <20250226122120.85790-1-kkostiuk@redhat.com> References: <20250226122120.85790-1-kkostiuk@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15 Received-SPF: pass (zohomail.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; Received-SPF: pass client-ip=170.10.129.124; envelope-from=kkostiuk@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.44, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 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-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1740572580919019000 From: Michal Privoznik If the agent is set to daemonize but for whatever reason fails to init the channel, the error message is lost. Worse, the agent daemonizes needlessly and returns success. For instance: # qemu-ga -m virtio-serial \ -p /dev/nonexistent_device \ -f /run/qemu-ga.pid \ -t /run \ -d # echo $? 0 This makes it needlessly hard for init scripts to detect a failure in qemu-ga startup. Though, they shouldn't pass '-d' in the first place. Let's open the channel first and only after that become a daemon. Related bug: https://bugs.gentoo.org/810628 Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko Reviewed-by: Konstantin Kostiuk Message-ID: <7a42b0cbda5c7e01cf76bc1b29a1210cd018fa78.1736261360.git.mprivo= zn@redhat.com> Signed-off-by: Konstantin Kostiuk --- qga/main.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/qga/main.c b/qga/main.c index eccfa33871..72c39b042f 100644 --- a/qga/main.c +++ b/qga/main.c @@ -1430,7 +1430,6 @@ static GAState *initialize_agent(GAConfig *config, in= t socket_activation) if (config->daemonize) { /* delay opening/locking of pidfile till filesystems are unfro= zen */ s->deferred_options.pid_filepath =3D config->pid_filepath; - become_daemon(NULL); } if (config->log_filepath) { /* delay opening the log file till filesystems are unfrozen */ @@ -1438,9 +1437,6 @@ static GAState *initialize_agent(GAConfig *config, in= t socket_activation) } ga_disable_logging(s); } else { - if (config->daemonize) { - become_daemon(config->pid_filepath); - } if (config->log_filepath) { FILE *log_file =3D ga_open_logfile(config->log_filepath); if (!log_file) { @@ -1487,6 +1483,20 @@ static GAState *initialize_agent(GAConfig *config, i= nt socket_activation) =20 ga_apply_command_filters(s); =20 + if (!channel_init(s, s->config->method, s->config->channel_path, + s->socket_activation ? FIRST_SOCKET_ACTIVATION_FD : = -1)) { + g_critical("failed to initialize guest agent channel"); + return NULL; + } + + if (config->daemonize) { + if (ga_is_frozen(s)) { + become_daemon(NULL); + } else { + become_daemon(config->pid_filepath); + } + } + ga_state =3D s; return s; } @@ -1513,8 +1523,9 @@ static void cleanup_agent(GAState *s) =20 static int run_agent_once(GAState *s) { - if (!channel_init(s, s->config->method, s->config->channel_path, - s->socket_activation ? FIRST_SOCKET_ACTIVATION_FD : = -1)) { + if (!s->channel && + channel_init(s, s->config->method, s->config->channel_path, + s->socket_activation ? FIRST_SOCKET_ACTIVATION_FD : -= 1)) { g_critical("failed to initialize guest agent channel"); return EXIT_FAILURE; } @@ -1523,6 +1534,7 @@ static int run_agent_once(GAState *s) =20 if (s->channel) { ga_channel_free(s->channel); + s->channel =3D NULL; } =20 return EXIT_SUCCESS; --=20 2.48.1