From nobody Mon Feb 9 11:38:26 2026 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=1662978518; cv=none; d=zohomail.com; s=zohoarc; b=M6yguwOBPjx6s4UGVS51UYDx/K3USh5PceUioEjjX/LcnoNVtH/G4sAhfYKTg1QDYJH+s2JmYHu16b+P4kiZp5NMBXEVRsQEgntkbMK2I6DSoRWafpBbQCZ17H6BNR4gnp4WOg5QXcLGL0Ae3u46jKQGVk6eb7oJvSxi00OqAW4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1662978518; 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; bh=+H1dlVsO6rIooekJM324mF3TSdjJTMlQUL56IAhHClM=; b=Cnqy45zCKcSLHois7XSMiz0KZGCszN4CK2g8T3nmk/yI0W2NRxYDQZGZ1q42kQ6OT179FoSYQALv+Pof3iI75eSTm6KzkTzjMRgLTVcFUYHE8UNOGVkJjkBf3+jYEoPFOmsMGdLsn4iDfNPNo9dGPLmvc4iUFtumDPmPTB0R86k= 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 1662978518349345.5722861514256; Mon, 12 Sep 2022 03:28:38 -0700 (PDT) Received: from localhost ([::1]:52504 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oXgg8-0000rF-Sg for importer@patchew.org; Mon, 12 Sep 2022 06:28:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37550) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXgcv-00072b-Mh for qemu-devel@nongnu.org; Mon, 12 Sep 2022 06:25:18 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:49711) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXgcp-0007FT-25 for qemu-devel@nongnu.org; Mon, 12 Sep 2022 06:25:14 -0400 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-237-xmQYMFJ8MFWp6d1Ne7bCEA-1; Mon, 12 Sep 2022 06:25:06 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id CF91C3C02B71 for ; Mon, 12 Sep 2022 10:25:05 +0000 (UTC) Received: from localhost (unknown [10.39.208.16]) by smtp.corp.redhat.com (Postfix) with ESMTP id DF3C92027063; Mon, 12 Sep 2022 10:25:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1662978307; 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=+H1dlVsO6rIooekJM324mF3TSdjJTMlQUL56IAhHClM=; b=L9IkoD8Qf29792XQ5yF+IGtEb9PCL/+NeQhgC9I5R+KOBhGROziCEekQ1Dug7GGgx8ODhE FdzpkJ0A7W6Lt/YWTYnKO2d0P1fZhOrnt3XAIaVj5XQSWMgca9heDVUkN17TcP0IhOBNHc w1gsWZ90Kv3+MA4jj47UEPqDivAVlQ4= X-MC-Unique: xmQYMFJ8MFWp6d1Ne7bCEA-1 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: Gerd Hoffmann , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Subject: [PATCH 1/5] ui: add some vdagent related traces Date: Mon, 12 Sep 2022 14:24:51 +0400 Message-Id: <20220912102455.111765-2-marcandre.lureau@redhat.com> In-Reply-To: <20220912102455.111765-1-marcandre.lureau@redhat.com> References: <20220912102455.111765-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 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=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1662978520040100001 From: Marc-Andr=C3=A9 Lureau This helps debugging clipboard serial sync issues. Signed-off-by: Marc-Andr=C3=A9 Lureau --- ui/clipboard.c | 11 +++++++++-- ui/vdagent.c | 3 +++ ui/trace-events | 5 +++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/ui/clipboard.c b/ui/clipboard.c index 9079ef829b..cd5382fcb0 100644 --- a/ui/clipboard.c +++ b/ui/clipboard.c @@ -1,5 +1,6 @@ #include "qemu/osdep.h" #include "ui/clipboard.h" +#include "trace.h" =20 static NotifierList clipboard_notifiers =3D NOTIFIER_LIST_INITIALIZER(clipboard_notifiers); @@ -43,17 +44,23 @@ void qemu_clipboard_peer_release(QemuClipboardPeer *pee= r, =20 bool qemu_clipboard_check_serial(QemuClipboardInfo *info, bool client) { + bool ok; + if (!info->has_serial || !cbinfo[info->selection] || !cbinfo[info->selection]->has_serial) { + trace_clipboard_check_serial(-1, -1, true); return true; } =20 if (client) { - return cbinfo[info->selection]->serial >=3D info->serial; + ok =3D cbinfo[info->selection]->serial >=3D info->serial; } else { - return cbinfo[info->selection]->serial > info->serial; + ok =3D cbinfo[info->selection]->serial > info->serial; } + + trace_clipboard_check_serial(cbinfo[info->selection]->serial, info->se= rial, ok); + return ok; } =20 void qemu_clipboard_update(QemuClipboardInfo *info) diff --git a/ui/vdagent.c b/ui/vdagent.c index a899eed195..f3bd56e3e7 100644 --- a/ui/vdagent.c +++ b/ui/vdagent.c @@ -533,6 +533,7 @@ static void vdagent_clipboard_recv_grab(VDAgentChardev = *vd, uint8_t s, uint32_t info->has_serial =3D true; info->serial =3D *(uint32_t *)data; if (info->serial < vd->last_serial[s]) { + trace_vdagent_cb_grab_discard(GET_NAME(sel_name, s), vd->last_= serial[s], info->serial); /* discard lower-ordering guest grab */ return; } @@ -853,6 +854,8 @@ static void vdagent_chr_accept_input(Chardev *chr) =20 static void vdagent_disconnect(VDAgentChardev *vd) { + trace_vdagent_disconnect(); + buffer_reset(&vd->outbuf); vdagent_reset_bufs(vd); vd->caps =3D 0; diff --git a/ui/trace-events b/ui/trace-events index a922f00e10..977577fbba 100644 --- a/ui/trace-events +++ b/ui/trace-events @@ -127,15 +127,20 @@ xkeymap_vendor(const char *name) "vendor '%s'" xkeymap_keycodes(const char *name) "keycodes '%s'" xkeymap_keymap(const char *name) "keymap '%s'" =20 +# clipboard.c +clipboard_check_serial(int cur, int recv, bool ok) "cur:%d recv:%d %d" + # vdagent.c vdagent_open(void) "" vdagent_close(void) "" +vdagent_disconnect(void) "" vdagent_send(const char *name) "msg %s" vdagent_send_empty_clipboard(void) "" vdagent_recv_chunk(uint32_t size) "size %d" vdagent_recv_msg(const char *name, uint32_t size) "msg %s, size %d" vdagent_peer_cap(const char *name) "cap %s" vdagent_cb_grab_selection(const char *name) "selection %s" +vdagent_cb_grab_discard(const char *name, int cur, int recv) "selection %s= , cur:%d recv:%d" vdagent_cb_grab_type(const char *name) "type %s" vdagent_cb_serial_discard(uint32_t current, uint32_t received) "current=3D= %u, received=3D%u" =20 --=20 2.37.3 From nobody Mon Feb 9 11:38:26 2026 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=1662978540; cv=none; d=zohomail.com; s=zohoarc; b=QpjOPuh1iOqehdWKvFyaR63iflyAo/FMkiCt9LdnzH+lEBHW078bb0n32ms/BLu+ZWmxrXmTxqruwZ8IRgvPf+NRQvTyveLVkIFzgYg5Cdz0ZQO5q395Kdox56jPPcuCsOJkG+TrOYsN+umEs7fdn2Ayy0JKFgmkTxirInQs9qU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1662978540; 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; bh=Rxxq1tlRUCzgggOroaSy4rkZcbEk0eweqlOTWvGw0NI=; b=fOoLkHd4QrqukBye1IDJJ5mQnYEBgvaCKHt4Vw1jIKH2eBZdXQv2jqGPRd7QB7/IYzxNdd9BUCEbXF3VktR6YAeHJutl5OkB0tnZL6tcj9gkUA/f8xZni04W6ZFXmzJ+7M+gfvKQ5tZ2qTnvpdzPiF39KeyuytSz6khyNwnRdKU= 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 166297854067935.76439654179728; Mon, 12 Sep 2022 03:29:00 -0700 (PDT) Received: from localhost ([::1]:57534 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oXggV-00019R-IR for importer@patchew.org; Mon, 12 Sep 2022 06:28:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37552) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXgcx-00072c-PP for qemu-devel@nongnu.org; Mon, 12 Sep 2022 06:25:20 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:44523) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXgcs-0007JG-0H for qemu-devel@nongnu.org; Mon, 12 Sep 2022 06:25:17 -0400 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-639-HJlzfe9qMS6B6di7jJhEhw-1; Mon, 12 Sep 2022 06:25:10 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3C22529AB449 for ; Mon, 12 Sep 2022 10:25:10 +0000 (UTC) Received: from localhost (unknown [10.39.208.16]) by smtp.corp.redhat.com (Postfix) with ESMTP id 67FE62028DC1; Mon, 12 Sep 2022 10:25:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1662978311; 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=Rxxq1tlRUCzgggOroaSy4rkZcbEk0eweqlOTWvGw0NI=; b=Q8tHHRH7eLewxJlnTavKWKfrOV8M2oPMpsiOXKuhy9esVwu8GmDtwNA9uGPeh9FWMUykiF o2QYmCddyh8DF5yuHz3KdpuA5joa3/PzL7vl2gBuSykUhCorumoguCptcuEaNKaPTR2Liz 1UkeHMJNkyIhupspT2GxLCTqvPm6rfo= X-MC-Unique: HJlzfe9qMS6B6di7jJhEhw-1 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: Gerd Hoffmann , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Subject: [PATCH 2/5] ui/clipboard: fix serial priority Date: Mon, 12 Sep 2022 14:24:52 +0400 Message-Id: <20220912102455.111765-3-marcandre.lureau@redhat.com> In-Reply-To: <20220912102455.111765-1-marcandre.lureau@redhat.com> References: <20220912102455.111765-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 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=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1662978542031100001 From: Marc-Andr=C3=A9 Lureau The incoming grab event should have a higher serial. See also "vdagent: introduce VD_AGENT_CAP_CLIPBOARD_GRAB_SERIAL": https://gitlab.freedesktop.org/spice/spice-protocol/-/commit/045a6978d6dbbf= 7046affc5c321fa8177c8cce56 This is only a relevant fix for the -display dbus, only user of that function. Signed-off-by: Marc-Andr=C3=A9 Lureau --- ui/clipboard.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/clipboard.c b/ui/clipboard.c index cd5382fcb0..3e2d02d549 100644 --- a/ui/clipboard.c +++ b/ui/clipboard.c @@ -54,9 +54,9 @@ bool qemu_clipboard_check_serial(QemuClipboardInfo *info,= bool client) } =20 if (client) { - ok =3D cbinfo[info->selection]->serial >=3D info->serial; + ok =3D info->serial >=3D cbinfo[info->selection]->serial; } else { - ok =3D cbinfo[info->selection]->serial > info->serial; + ok =3D info->serial > cbinfo[info->selection]->serial; } =20 trace_clipboard_check_serial(cbinfo[info->selection]->serial, info->se= rial, ok); --=20 2.37.3 From nobody Mon Feb 9 11:38:26 2026 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=1662978837; cv=none; d=zohomail.com; s=zohoarc; b=R1mRfnRRQ07gTLbDLx969wbH/QUkp6xgBgqLWqjI1j+8+Vl8D5k9ssHDvj/HVpTF4pQGWKkV54dts0oMsnSinA53Ej2pLo5s973XW9CfXRGStpKQN6viRzB7LDnNjPXFXjarzqMaATxQNHp/TDeRV+sGllhLyHZxSzgjfrghsAA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1662978837; 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; bh=uBn1X8lQoli8t3ZEXhzyF4No2MEb689wWZb2oofKLrk=; b=QHz7kccyE4C+5abPEBSo/zIRvHxJGcqgjMAT6UAbHLAjd70lq5wkpWmfp6nBJMOQeuNanCEpHZGQAPqsawmO6NSS83cE+wXGc1TpMBJ7kr2U/DPXrL40FMEwL5ear5VWuSe/cuYPLnbgh7jBG6bFSn2OgUF61WRuMP+HKzSXqkw= 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 1662978837537438.6555552513237; Mon, 12 Sep 2022 03:33:57 -0700 (PDT) Received: from localhost ([::1]:38946 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oXglI-0005id-EL for importer@patchew.org; Mon, 12 Sep 2022 06:33:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37556) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXgd2-000737-N8 for qemu-devel@nongnu.org; Mon, 12 Sep 2022 06:25:33 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:46452) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXgcy-0007Ms-1f for qemu-devel@nongnu.org; Mon, 12 Sep 2022 06:25:23 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-657-XZaykpcaP9ukRrpwiHgd1w-1; Mon, 12 Sep 2022 06:25:16 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A3B8E811E80 for ; Mon, 12 Sep 2022 10:25:16 +0000 (UTC) Received: from localhost (unknown [10.39.208.16]) by smtp.corp.redhat.com (Postfix) with ESMTP id BCFB12027062; Mon, 12 Sep 2022 10:25:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1662978317; 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=uBn1X8lQoli8t3ZEXhzyF4No2MEb689wWZb2oofKLrk=; b=BosW97Ez14JSnSIdChD7vIDDTqyPJ+vL4BkfuR1prED7a9ujGLM7/jcLxsQ6nPOyDiq696 h8+g1T+dTm1xIko1tc9Qg5VPxav2CD7n4NyiqIveQDS0DTqJBge0gadoT4De4Kzd+RjjOV D44bXF1IrelbhdkS0bulkAIOSopf6ts= X-MC-Unique: XZaykpcaP9ukRrpwiHgd1w-1 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: Gerd Hoffmann , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Subject: [PATCH 3/5] ui/vdagent: always reset the clipboard serial on caps Date: Mon, 12 Sep 2022 14:24:53 +0400 Message-Id: <20220912102455.111765-4-marcandre.lureau@redhat.com> In-Reply-To: <20220912102455.111765-1-marcandre.lureau@redhat.com> References: <20220912102455.111765-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 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=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1662978839635100001 From: Marc-Andr=C3=A9 Lureau The guest agent doesn't know what is the current serial state. Reset the serial value whenever a new agent connection is established. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=3D2124446 Signed-off-by: Marc-Andr=C3=A9 Lureau --- ui/vdagent.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ui/vdagent.c b/ui/vdagent.c index f3bd56e3e7..167f5addc1 100644 --- a/ui/vdagent.c +++ b/ui/vdagent.c @@ -718,8 +718,10 @@ static void vdagent_chr_recv_caps(VDAgentChardev *vd, = VDAgentMessage *msg) if (have_mouse(vd) && vd->mouse_hs) { qemu_input_handler_activate(vd->mouse_hs); } + + memset(vd->last_serial, 0, sizeof(vd->last_serial)); + if (have_clipboard(vd) && vd->cbpeer.notifier.notify =3D=3D NULL) { - memset(vd->last_serial, 0, sizeof(vd->last_serial)); vd->cbpeer.name =3D "vdagent"; vd->cbpeer.notifier.notify =3D vdagent_clipboard_notify; vd->cbpeer.request =3D vdagent_clipboard_request; --=20 2.37.3 From nobody Mon Feb 9 11:38:26 2026 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=1662978931; cv=none; d=zohomail.com; s=zohoarc; b=bNj+MEK2dJNqy6eZ70zRF+0tjWivkMZZp7J0uRgFt4g9c6YQvurwn3ppWBUIUAsh5Eyk2HFn/FUQETjInUpQnBxG6vhT+9NDYFqXlAUiYhfXdxNvWQ8lk79mfJmZUTs5DKCFttd5QZyuzqad+h+d+HqRO4orQPg0BwGsGpR7Wak= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1662978931; 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; bh=BnGjaPyEqfQ/TyLOGSMsrPT2XpXGZg/m3336kFbUWro=; b=JOUKbCRAmAjwc0n8mlRVftrmyxX5CBgy6brKKAZhekRQn5cqkO6U8pbhKrQbPIRZVxo7FpftE0VF19/7HAZijZTQQq7hOec5JaCwZ8wjn3WzxMTjF6ftfy8+wJC/HXRuASTeye5V9AAdzZMFVD8c+SlMH5FmP4LTIZr6+kSeLLM= 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 1662978931071587.9001302357583; Mon, 12 Sep 2022 03:35:31 -0700 (PDT) Received: from localhost ([::1]:59586 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oXgmn-00075e-Vy for importer@patchew.org; Mon, 12 Sep 2022 06:35:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56914) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXgdF-00073p-MA for qemu-devel@nongnu.org; Mon, 12 Sep 2022 06:25:38 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:50286) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXgdC-0007TS-3m for qemu-devel@nongnu.org; Mon, 12 Sep 2022 06:25:37 -0400 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-246-_gfNkJ2XOXSYPVnAvDCyew-1; Mon, 12 Sep 2022 06:25:21 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 806D429ABA01 for ; Mon, 12 Sep 2022 10:25:21 +0000 (UTC) Received: from localhost (unknown [10.39.208.16]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4295AC15BA4; Mon, 12 Sep 2022 10:25:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1662978330; 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=BnGjaPyEqfQ/TyLOGSMsrPT2XpXGZg/m3336kFbUWro=; b=dM0Y0qI5eKU8li2fjZtJyhU2/Fi4F4GVileCiBOTh9qT4WbeNywsJIizW5AIujpLEHLELw CFel4jKDz/2F5HIG0vDb9h+kKFiQBymu8ObMxPQyT2Qjq8YofANknVexvdiKeWvbjAklOW +aKOfvCvqcMny/k8IYWR+EQXS86MLNs= X-MC-Unique: _gfNkJ2XOXSYPVnAvDCyew-1 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: Gerd Hoffmann , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Subject: [PATCH 4/5] ui/clipboard: reset the serial state on reset Date: Mon, 12 Sep 2022 14:24:54 +0400 Message-Id: <20220912102455.111765-5-marcandre.lureau@redhat.com> In-Reply-To: <20220912102455.111765-1-marcandre.lureau@redhat.com> References: <20220912102455.111765-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 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.133.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1662978931268100001 From: Marc-Andr=C3=A9 Lureau Not only we have to reset the vdagent clipboards serial state, but also the current QEMU clipboards info serial (the value is currently used by qemu_clipboard_check_serial, only used by -display dbus). Signed-off-by: Marc-Andr=C3=A9 Lureau --- ui/clipboard.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ui/clipboard.c b/ui/clipboard.c index 3e2d02d549..3d14bffaf8 100644 --- a/ui/clipboard.c +++ b/ui/clipboard.c @@ -139,7 +139,14 @@ void qemu_clipboard_request(QemuClipboardInfo *info, void qemu_clipboard_reset_serial(void) { QemuClipboardNotify notify =3D { .type =3D QEMU_CLIPBOARD_RESET_SERIAL= }; + int i; =20 + for (i =3D 0; i < QEMU_CLIPBOARD_SELECTION__COUNT; i++) { + QemuClipboardInfo *info =3D qemu_clipboard_info(i); + if (info) { + info->serial =3D 0; + } + } notifier_list_notify(&clipboard_notifiers, ¬ify); } =20 --=20 2.37.3 From nobody Mon Feb 9 11:38:26 2026 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=1662979344; cv=none; d=zohomail.com; s=zohoarc; b=UNg0Yrciakckab6DyTVV52jrmX8WpBmLKB2zmjn2hILregus+KD8TrWBMDHcoaMskHxN8bck5PHn422lp5ZpnDvLQvhMXSLhp9OHHT32+WkBylQIxqJeszNZdYUcw5Lk1WNF14n8pr0Oky8zwq0Hoa1NPAUFId8nxrDKgAPsrBA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1662979344; 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; bh=f+3301cBnWbCJwhEynCvJGkzm/LZrIMV9ydeNQMAbOw=; b=lUMHY2ieUiGjeRQ4FP9PIhJ/8I6MOxuRKlLgWHCPokxJe+JPoSW2CkjRLyHJ1nDt8KDYI9qdJ8vb4jrM9vh2rnxmNSlwMvLBGoJW0uW3C3Whi5SubrhDDdslBLcKk7NPFmFOofzl/+OowI+UYyvD+nIl71NdMy0M3sHalxl6Ksc= 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 1662979344784264.91198691556235; Mon, 12 Sep 2022 03:42:24 -0700 (PDT) Received: from localhost ([::1]:47806 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oXgtT-0003dw-Cr for importer@patchew.org; Mon, 12 Sep 2022 06:42:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56912) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXgdF-00073m-MA for qemu-devel@nongnu.org; Mon, 12 Sep 2022 06:25:38 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:42347) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oXgd9-0007TH-VJ for qemu-devel@nongnu.org; Mon, 12 Sep 2022 06:25:36 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-119-7SW39eOFPkSeWy2_7mUlwA-1; Mon, 12 Sep 2022 06:25:26 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 29FE7811E83 for ; Mon, 12 Sep 2022 10:25:26 +0000 (UTC) Received: from localhost (unknown [10.39.208.16]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1562C492B04; Mon, 12 Sep 2022 10:25:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1662978327; 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=f+3301cBnWbCJwhEynCvJGkzm/LZrIMV9ydeNQMAbOw=; b=AIjlv6v0vsTdhXgLdfoEL0wV/pOjdIhuoZfLtxMtMYldB3zqvW3Rk/f+yoBcmcK5+ICqf7 6Xb+bjuvbZlhm4nRWjvi2ixOJKK8+6jky17ZLBiy9c1yDUSTULp3cBbaOtnye425sG8/3R ozSGVp4yrKMhfbpK9Js+qqeSm68xFuk= X-MC-Unique: 7SW39eOFPkSeWy2_7mUlwA-1 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: Gerd Hoffmann , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Subject: [PATCH 5/5] ui/vdagent: fix serial reset of guest agent Date: Mon, 12 Sep 2022 14:24:55 +0400 Message-Id: <20220912102455.111765-6-marcandre.lureau@redhat.com> In-Reply-To: <20220912102455.111765-1-marcandre.lureau@redhat.com> References: <20220912102455.111765-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 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=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1662979345528100001 From: Marc-Andr=C3=A9 Lureau In order to reset the guest agent, we send CLOSED & OPENED events. They are correctly received by the guest kernel. However, they might not be noticed by the guest agent process, as the IO task (poll() for example) might be wake up after both CLOSED & OPENED have been processed. Wait until the guest agent is disconnected to re-open our side. Signed-off-by: Marc-Andr=C3=A9 Lureau --- ui/vdagent.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ui/vdagent.c b/ui/vdagent.c index 167f5addc1..2aef96a9d3 100644 --- a/ui/vdagent.c +++ b/ui/vdagent.c @@ -471,7 +471,7 @@ static void vdagent_clipboard_reset_serial(VDAgentChard= ev *vd) =20 /* reopen the agent connection to reset the serial state */ qemu_chr_be_event(chr, CHR_EVENT_CLOSED); - qemu_chr_be_event(chr, CHR_EVENT_OPENED); + /* OPENED again after the guest disconnected, see set_fe_open */ } =20 static void vdagent_clipboard_notify(Notifier *notifier, void *data) @@ -874,6 +874,9 @@ static void vdagent_chr_set_fe_open(struct Chardev *chr= , int fe_open) { if (!fe_open) { trace_vdagent_close(); + /* To reset_serial, we CLOSED our side. Make sure the other end kn= ows we + * are ready again. */ + qemu_chr_be_event(chr, CHR_EVENT_OPENED); return; } =20 --=20 2.37.3