From nobody Sat Feb 7 05:49:43 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1498743400058952.3560149230942; Thu, 29 Jun 2017 06:36:40 -0700 (PDT) Received: from localhost ([::1]:39407 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQZcY-0005GX-Lx for importer@patchew.org; Thu, 29 Jun 2017 09:36:34 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48952) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dQZUJ-0005oI-My for qemu-devel@nongnu.org; Thu, 29 Jun 2017 09:28:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dQZUI-0001Qg-TP for qemu-devel@nongnu.org; Thu, 29 Jun 2017 09:28:03 -0400 Received: from mail-wr0-x241.google.com ([2a00:1450:400c:c0c::241]:36132) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dQZUI-0001QL-NF; Thu, 29 Jun 2017 09:28:02 -0400 Received: by mail-wr0-x241.google.com with SMTP id 77so36757321wrb.3; Thu, 29 Jun 2017 06:28:02 -0700 (PDT) Received: from localhost.localdomain (94-39-191-51.adsl-ull.clienti.tiscali.it. [94.39.191.51]) by smtp.gmail.com with ESMTPSA id i22sm4087691wrb.30.2017.06.29.06.28.00 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 29 Jun 2017 06:28:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=WorzgVJ1i8RCc0LnXfyXOmo1mju19lNEfKSrjv02cqs=; b=rnjV5Le+EDI8xGkavfojGl3Exa40yc9m4NUqsgcPLSZE4rT0bkJaKHxzexQ6c+ApPu oqL4Fr0zQKEYIu372QeE9LW7qsY0thrhOxzWzoxquipdXDXyi59Fen4BkpqOKE0vEiiY h3favNfIqhW3UnDn8T80E0sttlF5J2Wu35E9b+TpBKWsIRTfsSK5TU0seYwT6fxcbsQ9 FUKN6KHRHiErdLNGlRKBDNEMO0rVXSzRk+tdTpSS4gb/BtF3Ui6nm6+8szd2kfO3KurY +SpRvc+efmxCsD4x99VVI7ciYRlmk7w/PZPKrGL/XT5vIRT8fOI4VcJVvhoqnax3eCK7 GlPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=WorzgVJ1i8RCc0LnXfyXOmo1mju19lNEfKSrjv02cqs=; b=Ze7rto35Cn9H5iacsJTrUHSIITY+sJFYrdZoTIVjzk/KTzs7TnSRjr++S/ezBM46eS NGniTGUemW8+j6Vp6QmmQ/bauWgC171rZrZKWNXykYyktCsFP4WPPBziidvwamJKX1ro ILsy2oXmx+mFj++N5cf9rtKhL/QP7+eNLdQ91bdggxl9PcPuqRrOA37H60iVje66r/ps eEi1KSPYmCr3IGPJ2104CcxwRnbsEIsZaKOzKoUBIZ36uzGzg6/pZL4KRjzKZFpuq+P6 4FidYhsjv87TVY9mpDbA7bq6l5T94bq8zXTcgz2lIxloQEBHTezeUBcnryk0ue4E0jL4 zlTQ== X-Gm-Message-State: AKS2vOyKc2S9xpBuoFK7FkIFVIR5TObO5zdH9JfrXIrbTdakj0tCN+gH N1Ck7DRDLdApyMXDbWI= X-Received: by 10.223.153.114 with SMTP id x105mr24967664wrb.18.1498742881384; Thu, 29 Jun 2017 06:28:01 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Thu, 29 Jun 2017 15:27:46 +0200 Message-Id: <20170629132749.997-9-pbonzini@redhat.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170629132749.997-1-pbonzini@redhat.com> References: <20170629132749.997-1-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c0c::241 Subject: [Qemu-devel] [PATCH 08/11] qed: introduce bdrv_qed_init_state X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, qemu-block@nongnu.org, stefanha@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This will be used in the next patch, which will call bdrv_qed_do_open with a CoMutex taken. bdrv_qed_init_state provides a nice place to initialize it. Signed-off-by: Paolo Bonzini Reviewed-by: Eric Blake --- RFC->v2: new block/qed.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/block/qed.c b/block/qed.c index db390efdbd..8228a50f68 100644 --- a/block/qed.c +++ b/block/qed.c @@ -363,6 +363,15 @@ static void coroutine_fn bdrv_qed_co_drain(BlockDriver= State *bs) } } =20 +static void bdrv_qed_init_state(BlockDriverState *bs) +{ + BDRVQEDState *s =3D bs->opaque; + + memset(s, 0, sizeof(BDRVQEDState)); + s->bs =3D bs; + qemu_co_queue_init(&s->allocating_write_reqs); +} + static int bdrv_qed_do_open(BlockDriverState *bs, QDict *options, int flag= s, Error **errp) { @@ -371,9 +380,6 @@ static int bdrv_qed_do_open(BlockDriverState *bs, QDict= *options, int flags, int64_t file_size; int ret; =20 - s->bs =3D bs; - qemu_co_queue_init(&s->allocating_write_reqs); - ret =3D bdrv_pread(bs->file, 0, &le_header, sizeof(le_header)); if (ret < 0) { return ret; @@ -507,6 +513,7 @@ static int bdrv_qed_open(BlockDriverState *bs, QDict *o= ptions, int flags, return -EINVAL; } =20 + bdrv_qed_init_state(bs); return bdrv_qed_do_open(bs, options, flags, errp); } =20 @@ -1461,7 +1468,7 @@ static void bdrv_qed_invalidate_cache(BlockDriverStat= e *bs, Error **errp) =20 bdrv_qed_close(bs); =20 - memset(s, 0, sizeof(BDRVQEDState)); + bdrv_qed_init_state(bs); ret =3D bdrv_qed_do_open(bs, NULL, bs->open_flags, &local_err); if (local_err) { error_propagate(errp, local_err); --=20 2.13.0