From nobody Mon Feb 9 20:31:33 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1651003196603142.4162261956584; Tue, 26 Apr 2022 12:59:56 -0700 (PDT) Received: from localhost ([::1]:34926 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1njRLn-0002Lc-69 for importer@patchew.org; Tue, 26 Apr 2022 15:59:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39292) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1njRIC-0004d5-LW for qemu-devel@nongnu.org; Tue, 26 Apr 2022 15:56:12 -0400 Received: from smtp117.iad3a.emailsrvr.com ([173.203.187.117]:36910) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1njRIB-0004eG-3Z for qemu-devel@nongnu.org; Tue, 26 Apr 2022 15:56:12 -0400 Received: by smtp31.relay.iad3a.emailsrvr.com (Authenticated sender: adeason-AT-sinenomine.net) with ESMTPSA id 8AF92248F7; Tue, 26 Apr 2022 15:55:45 -0400 (EDT) X-Auth-ID: adeason@sinenomine.net From: Andrew Deason To: qemu-devel@nongnu.org Subject: [PATCH v3 4/5] qga/commands-posix: Log all net stats failures Date: Tue, 26 Apr 2022 14:55:25 -0500 Message-Id: <20220426195526.7699-5-adeason@sinenomine.net> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20220426195526.7699-1-adeason@sinenomine.net> References: <20220426195526.7699-1-adeason@sinenomine.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Classification-ID: cc5ef99f-0605-4056-825c-a202bb8c6ff8-5-1 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=173.203.187.117; envelope-from=adeason@sinenomine.net; helo=smtp117.iad3a.emailsrvr.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: , Cc: Michael Roth , Andrew Deason , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Michal Privoznik Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1651003197161100001 guest_get_network_stats can silently fail in a couple of ways. Add debug messages to these cases, so we're never completely silent on failure. Signed-off-by: Andrew Deason Reviewed-by: Marc-Andr=C3=A9 Lureau --- Changes since v1: - new in v2 qga/commands-posix.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/qga/commands-posix.c b/qga/commands-posix.c index b91fdba2c1..cc565e0dfd 100644 --- a/qga/commands-posix.c +++ b/qga/commands-posix.c @@ -2764,20 +2764,22 @@ static int guest_get_network_stats(const char *name, GuestNetworkInterfaceStat *stats) { #ifdef CONFIG_LINUX int name_len; char const *devinfo =3D "/proc/net/dev"; FILE *fp; char *line =3D NULL, *colon; size_t n =3D 0; fp =3D fopen(devinfo, "r"); if (!fp) { + g_debug("failed to open network stats %s: %s", devinfo, + g_strerror(errno)); return -1; } name_len =3D strlen(name); while (getline(&line, &n, fp) !=3D -1) { long long dummy; long long rx_bytes; long long rx_packets; long long rx_errs; long long rx_dropped; long long tx_bytes; @@ -2812,21 +2814,23 @@ static int guest_get_network_stats(const char *name, stats->tx_errs =3D tx_errs; stats->tx_dropped =3D tx_dropped; fclose(fp); g_free(line); return 0; } } fclose(fp); g_free(line); g_debug("/proc/net/dev: Interface '%s' not found", name); -#endif /* CONFIG_LINUX */ +#else /* !CONFIG_LINUX */ + g_debug("Network stats reporting available only for Linux"); +#endif /* !CONFIG_LINUX */ return -1; } =20 /* * Build information about guest interfaces */ GuestNetworkInterfaceList *qmp_guest_network_get_interfaces(Error **errp) { GuestNetworkInterfaceList *head =3D NULL, **tail =3D &head; struct ifaddrs *ifap, *ifa; --=20 2.11.0