From nobody Sat May 4 05:13:40 2024 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; dmarc=fail(p=none dis=none) header.from=ispras.ru ARC-Seal: i=1; a=rsa-sha256; t=1617005255; cv=none; d=zohomail.com; s=zohoarc; b=H2WmUZZQm5CXB+0SNYDN0/1VyVOzKdzaElGxJp75LQ3Z9LEzg47WIE3LUgFoy8/w7hCQMg5iQ1owZpRiHtUnctTe5O0h5fKM4eyzdwue+agwvhmxNqfK5EALgfmK9TIGs+rMkrHK1iI0pLjB49Pe/9lSxvzHNUs7heJgpECdirc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617005255; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=J6NZzPWAy0Dz7utz/fbNs1GAxAKbgOBMyN62wZN9BSM=; b=DLp2exFp8/tuD9HN3ucdWbdBnOsnMa6xXH7LSS5KUQaEGEj/DPGTWoHu5tzIYfUBzuVAjVbjziEiHCeH+RgWk0w2o+jJ3852V7Yj1qw9vNpdGqKaFLxQ1t1RVb0ZkERcQ5x+EKlchKTmOB7Pz9hOQUvVISrK4hCzrsAWPUOccHY= ARC-Authentication-Results: i=1; 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; 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 1617005255424243.88676066679034; Mon, 29 Mar 2021 01:07:35 -0700 (PDT) Received: from localhost ([::1]:48378 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lQmvu-0003kG-Dl for importer@patchew.org; Mon, 29 Mar 2021 04:07:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33086) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lQmuU-0002bQ-Mp for qemu-devel@nongnu.org; Mon, 29 Mar 2021 04:06:06 -0400 Received: from mail.ispras.ru ([83.149.199.84]:57674) by eggs.gnu.org with esmtps (TLS1.2:DHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lQmuT-0001B1-3f for qemu-devel@nongnu.org; Mon, 29 Mar 2021 04:06:06 -0400 Received: from [127.0.1.1] (unknown [62.118.151.149]) by mail.ispras.ru (Postfix) with ESMTPSA id 84CBE40755CC; Mon, 29 Mar 2021 08:06:03 +0000 (UTC) Subject: [PATCH] qcow2: use external virtual timers From: Pavel Dovgalyuk To: qemu-devel@nongnu.org Date: Mon, 29 Mar 2021 11:06:03 +0300 Message-ID: <161700516327.1141158.8366564693714562536.stgit@pasha-ThinkPad-X280> User-Agent: StGit/0.23 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=83.149.199.84; envelope-from=pavel.dovgalyuk@ispras.ru; helo=mail.ispras.ru 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, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, pbonzini@redhat.com, pavel.dovgalyuk@ispras.ru, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Regular virtual timers are used to emulate timings related to vCPU and peripheral states. QCOW2 uses timers to clean the cache. These timers should have external flag. In the opposite case they affect the execution and it can't be recorded and replayed. This patch adds external flag to the timer for qcow2 cache clean. Signed-off-by: Pavel Dovgalyuk Reviewed-by: Paolo Bonzini --- block/qcow2.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c index 0db1227ac9..2fb43c6f7e 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -840,9 +840,10 @@ static void cache_clean_timer_init(BlockDriverState *b= s, AioContext *context) { BDRVQcow2State *s =3D bs->opaque; if (s->cache_clean_interval > 0) { - s->cache_clean_timer =3D aio_timer_new(context, QEMU_CLOCK_VIRTUAL, - SCALE_MS, cache_clean_timer_c= b, - bs); + s->cache_clean_timer =3D + aio_timer_new_with_attrs(context, QEMU_CLOCK_VIRTUAL, + SCALE_MS, QEMU_TIMER_ATTR_EXTERNAL, + cache_clean_timer_cb, bs); timer_mod(s->cache_clean_timer, qemu_clock_get_ms(QEMU_CLOCK_VIRTU= AL) + (int64_t) s->cache_clean_interval * 1000); }