From nobody Sat Sep 26 20:51:56 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789565315; cv=none; d=zohomail.com; s=zohoarc; b=f5zDbuBNzD8VYVuJYxhFccwjOVpNZlrEHGc0jRcWneiacqtfUrxHxTp8Fgw4WgxVZFUI9KWB/vOuYdyJuYUSI86SIdumAVR0enZ+fwq/kADr+CTmVBuFa/m555dr1ppyM6qK8rFqV0yhzT1+xGCfM0Tiw1WaoizbUiMSIYyxTmY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789565315; h=Content-Transfer-Encoding:Cc:Cc: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; bh=yPgw4Lk6W+a+T2fW0nuEVY1Q9j1d9TfrmANgfQ9OFwQ=; b=mbYEKJ40NVuDnhTrH0hrikMFNT1vBh7y25Gb/nO6R7WmdXm0XQrPlmvBCnRNFTno3gYottAyWcsV0BWm+FVb4KbPFa2Ga0Aar3NuEVy/ZgNNnVI/ytZGHcciUBgIRnAt8KRNR5JTqmBQk1zHrwGGVJQXejsQmisDmqWVGsBvZx0= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789565315031403.14465249964337; Wed, 16 Sep 2026 06:28:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6pgI-0001oN-E9; Wed, 16 Sep 2026 09:28:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6pg0-0001l5-7o for qemu-devel@nongnu.org; Wed, 16 Sep 2026 09:27:52 -0400 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 1x6pfy-0003ty-OX for qemu-devel@nongnu.org; Wed, 16 Sep 2026 09:27:51 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-645-K9mBZwKHNLGe1QPCd9_YMQ-1; Wed, 16 Sep 2026 09:27:47 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-49ccfad90f1so32756005e9.0 for ; Wed, 16 Sep 2026 06:27:47 -0700 (PDT) Received: from [192.168.10.48] ([151.49.232.249]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49e83da071asm97825875e9.8.2026.09.16.06.27.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Sep 2026 06:27:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789565269; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=yPgw4Lk6W+a+T2fW0nuEVY1Q9j1d9TfrmANgfQ9OFwQ=; b=MUCVAsZUkfY/PUQEb5FbXw+bh3gcS8Vn6rZnSn1xB0x8Yr9umlVjNXuRtgcKhbBi3CA5d1 8J35VPsjZcEn7jnggEwHAVV6L3jfHf7kSdDHNPjTgPzOu9Xim599yCRQ/hG4lQ45d3Ot1X pcma63A9LJ94iGtY6lvDvW6w4mgEn/Y= X-MC-Unique: K9mBZwKHNLGe1QPCd9_YMQ-1 X-Mimecast-MFC-AGG-ID: K9mBZwKHNLGe1QPCd9_YMQ_1789565266 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1789565266; x=1790170066; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=yPgw4Lk6W+a+T2fW0nuEVY1Q9j1d9TfrmANgfQ9OFwQ=; b=ZA6ksj5qqnV511TTwagqSbO7zmYbd7fQee17/5TkoehvyI+u7RCp4tq+9Otd2ZyyqN 1JAAgJuAwzjt+5dnMlfxwMOOKR8y8QQbN7k5WxjfsIAxVj3ccXMTteVFaTUWrzQawsxn 1dQk/+h9Jq8YrcnYaV3nzs765NsWjt/Sgsa7PcckNSyw8V028lymNd1CbeYel+NXX+Mw MhvQIthD09TkOb7lgLhQRluG/5BM9KF1CwmW08cq4E/ukXs178jkmJqQN1C4qdaVCClE /UU8pNDlpDSKDi1Fq4x80T4//7FwipOAa9Gway0ZIU/Vkxgnd7aQWIr33bFcjNcgMfsO 1v5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789565266; x=1790170066; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=yPgw4Lk6W+a+T2fW0nuEVY1Q9j1d9TfrmANgfQ9OFwQ=; b=F48zDIk4gH3H1c6P3aTbDuf83BxzU0xPQgv12tm2nrkkPqWf4S7Fct0mFDCaW0qoEj LAc/11BIzp/eHnNoCyL3FqAHgenZwBuvFvZq5HXEXBzz7ElLnj19Z4RGuhfXE/nk0YLm H1TTJ+q979cjFIgIq/b4c2ECYWAjDJax9J4h6+fhV6ptS6aZ3TbRiHj2DoVGxz3Abj7O a2KIS+iC16y4DccYeq0ksosXhnuWnDFVGuZaPhkisBxyFvz5jCbp1PCnWHtsiIn3kysP bIQSYvT+i2Qc5sdYgVxTD1qxIdpDHRHJwkiL2gX9QPPRCrioaUgr1LBK6w9S2MQukreq +ThQ== X-Gm-Message-State: AFuF++nO93Mpda6fzEyuG08ve1Eouprm+yow6UYmH08fcmwAhrEsxx5R Xh9smXPESKc+ANDB1nOHhsQe1bxO0rpElkrzCSkXUeMfHPt7tPP7P/r8hYlN/MVB/dO2fmfzvPR MZaaS07cq2QfYpOsFoPIKD/GJgnqYpirUN0wBLNnNa9Ku3/38fa0b/jglbrhl8Ry15f7P24BZdB DWlSbJZNi5Q7PvV6md+0jZDF07WgXBj2QhZF5eFV3J X-Gm-Gg: AYBFou0SwK+9kU7dhqGknG1kt1EFArZuCGIGtnW2oh8QHCBCsJ3G0mCCw/m/uq/qg5A yl9JuuD3l2dIhXasXt4lSH1kHsJT3mI+ZYWAWvbsoSW4U/wgsLLEjwxQhfOzv7lGIAc0cbGPGwL Mxrywn0fpYRs58GLPClMhQpL5NSNN5AAoxZ2mpMzg6Lfs+x5mONvkGVQ3HGxMdteEy7JOFHyJga L19L4fLgg+V5s9FPsrEMWQAoX9wMeFs5hsZaS7grP5THVRQZf7kJugics6h2tZlje9Ltl+6kRic qUKC9wvDC3mj+Pmola4wyXoGXvkGsBOQ5Xqwz6FtCFvnj1d/gy+pGxED0gIei1Hg9RcukWPdc3D BcjslQeUynR55u9QdSSzUrLTaokkL8VzZwcVKA/qB9Yz5nEVwvYMVUZSlhpHP6OjD0wZN5I2LKW INjTOE X-Received: by 2002:a05:600c:4e8c:b0:49e:7cc2:e6c2 with SMTP id 5b1f17b1804b1-49eb73309edmr30697725e9.27.1789565266369; Wed, 16 Sep 2026 06:27:46 -0700 (PDT) X-Received: by 2002:a05:600c:4e8c:b0:49e:7cc2:e6c2 with SMTP id 5b1f17b1804b1-49eb73309edmr30697265e9.27.1789565265831; Wed, 16 Sep 2026 06:27:45 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: den@openvz.org, qemu-block@nongnu.org Subject: [PATCH 1/2] nbd: comment on locking for requests[].coroutine Date: Wed, 16 Sep 2026 15:27:39 +0200 Message-ID: <20260916132740.872244-2-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260916132740.872244-1-pbonzini@redhat.com> References: <20260916132740.872244-1-pbonzini@redhat.com> MIME-Version: 1.0 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1789565317434158500 Content-Type: text/plain; charset="utf-8" Explain why it is safe to read it outside the lock. Basically, if the protocol is followed correctly, the reply header will not appear until after the request has been sent out in its entirety; long after requests[].coroutine has been set and s->request_lock has been released in nbd_co_send_request. And requests[].coroutine will also not become NULL until after the reply has been read, and that requires nbd_receive_replies to finish. Signed-off-by: Paolo Bonzini --- block/nbd.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/block/nbd.c b/block/nbd.c index e5e16722ba2..85842e7cdfb 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -141,6 +141,11 @@ static NBDClientRequest *nbd_request_by_cookie(BDRVNBD= State *s, uint64_t cookie, { uint64_t ind =3D COOKIE_TO_INDEX(cookie); =20 + /* + * Once requests[].coroutine is set, it will not be cleared until its + * reply is read completely; so it is okay to read it as long as a + * request is in progress or receive_mutex is taken. + */ if (ind >=3D MAX_NBD_REQUESTS || !s->requests[ind].coroutine) { error_setg(errp, "unexpected cookie value"); return NULL; @@ -154,6 +159,12 @@ static bool coroutine_fn nbd_recv_coroutine_wake_one(N= BDClientRequest *req) { if (req->receiving) { req->receiving =3D false; + + /* + * Once requests[].coroutine is set, it will not be cleared until = its + * reply is read completely; so it is okay to read it within + * receive_mutex. + */ aio_co_wake(req->coroutine); return true; } --=20 2.55.0 From nobody Sat Sep 26 20:51:56 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1789565335; cv=none; d=zohomail.com; s=zohoarc; b=ijjXKg9t2WCPp5SjJV8IftV372YcJVBSCfJKKbqm66zNZFv6apLj691wanW2CpKIlK1Q2+iaRIpBHJZ7abWNiggnr08yTyK266vjX4JvvkXmFzsoANEIT2k3n1b1ItdJkJSNZrGLFU4OCojgVJfP/5so3uq/s06rQhtCzLCxgCY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789565335; h=Content-Transfer-Encoding:Cc:Cc: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; bh=dKPv13O8XSl6nTzsPGb25cDdpbOt3uJwnax9Wc1iZE4=; b=ezj5GaQIRF7/vvDdm9dvks9jBmZFHXmbCoUR/ZAIvcrbv2UVAcV+FIjNFYxDaYKiYAnFdJAYyUw/N/2261QGjFca+cIxF7Vg2mIHOfGOWXFGcSbHsCiB0pA67dx3xDYD6jBbDf7GC7/gnCOt5r4mq8+oNOdmfJ7udHnOfvzteYM= 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=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789565334999454.08007999079155; Wed, 16 Sep 2026 06:28:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6pgL-0001pE-Af; Wed, 16 Sep 2026 09:28:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6pg4-0001lj-QS for qemu-devel@nongnu.org; Wed, 16 Sep 2026 09:27:58 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6pg0-0003uT-Nd for qemu-devel@nongnu.org; Wed, 16 Sep 2026 09:27:53 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-74-d-BBRyosNYquz42fLcPhwQ-1; Wed, 16 Sep 2026 09:27:50 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-49cced8309bso50710685e9.3 for ; Wed, 16 Sep 2026 06:27:50 -0700 (PDT) Received: from [192.168.10.48] ([151.49.232.249]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49e83d903f6sm76103765e9.4.2026.09.16.06.27.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Sep 2026 06:27:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789565271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dKPv13O8XSl6nTzsPGb25cDdpbOt3uJwnax9Wc1iZE4=; b=Ig+m3OHynEoOWCvBMs7QtbblC36zUFQcfH3z/oxcN1vnhre5yQ4nKlHF1kt6dWIvQePBzw 50tQAfnjjMlYDnIwvsYVo4O9y2OuHroICJvZP8KJP50jdiJ3Ggiskz1djEfg649URSUlMx nguS0a18FrAzyKCELyX5+ml0UKUHfZk= X-MC-Unique: d-BBRyosNYquz42fLcPhwQ-1 X-Mimecast-MFC-AGG-ID: d-BBRyosNYquz42fLcPhwQ_1789565269 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1789565269; x=1790170069; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=dKPv13O8XSl6nTzsPGb25cDdpbOt3uJwnax9Wc1iZE4=; b=Fw4DVIoBETjd+7rEfM5NOR8paLF1CH1bFQNwIG1O1topZYiMS0JtlE1uKUI81Nzick Gl+BGOpoe2odc3gHlfGGLlD5tyT5oRfRyS5rVLo6Udv2MmwgXnDyaQlJPqskL35lDbE7 v/kYipgobBfBX7sRBdsZOuGcHXhoO/CG1+XsopOMJvHulekJYYVF0A/+oE/OkyjaXqx8 ZrqMeiyZbfIZJnfqrXoDh/jwJFkgv1DKQOu+pwbNiJgDS2bFJiSZsBBxh0TPM6Tnz+yr 8ewZWEohDVJhAto00V4TYiS8XiDPHivcnvm6Aq4M1QGgXaXK5/ZVf5T0tkGA5e2FSZXv 4e5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789565269; x=1790170069; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=dKPv13O8XSl6nTzsPGb25cDdpbOt3uJwnax9Wc1iZE4=; b=lE+4b5b09/cx34q7enR1Bv86v5ueVUScz92o+R2rVd7eZTuXWtjEkSMZnQpnNsEb0i 4r6nV07ZNophKY62juEhPOeOttyDjUX17VZisIP86NX84LhxPW0JVfjc7rDTf3GqsUg0 wrdedVjq19Ulvcq4mru66uXEd67wg/jN0rvCncqkclBtJu4CwlLKn8/SHl6h0TGXPepS EnMIPLe9h057jHCmFu5TvD78EiYgIyOLKUiL8rUtZgIGWx0+gVVJ1JEXzkXPy7cGpQKX eJboB1Ipmr2NbOobnFvyaLI2n+/MGvD7PxXCEsv8Muv+KniQxq8S8xILB63VttaXK8z4 xpnQ== X-Gm-Message-State: AFuF++nQooY2jAZk37wmdsdK0K8hDnWezrzeJZy4v3SvBlFZG3jJlDh+ deZTRNY3zt0fJYQ1cVyLiHWJtdhSGoquBpfGPttX6FAU9EZDBOJ8rQyXHa2K+S38sRj4Msy19vp 9zQpe8TFsZgw0oicYlrlkl1cHeZMsLTrwg0gw9AFxBntOCKXfG6hE0E9Oxw/QAbwKw2GIP4rAMz RxuYeZr0bQmrYZ4nPBuxnVeA5R6Fgp/9GBLXRzd/bi X-Gm-Gg: AYBFou07NYms9ijFaGIWoMamr/Us8yF2OYfrBoUQDFJiYD4ilLiNktl/pWNAGrqif9z Q9UQ3Ico02nDatJ+3u+6hCoUbKzGJeojj+XAsDmXlYEgte0a9o1C5wq/F45Wpc788S6x8Qes9C9 li/qaECXSEz+ixbNKk6I1AklD/r55boJlrw+oYjlPg2Y4jtvL+ofP70gmPQIHsbFbwK9VOaVvqv YXc+6HTrB5QVzToVDb+gQbG4JofHgtwcilVtxqQnwqzmOUt/PnwdnaV21C81O+8PLOgdMaNwIrh E5RCT1DJ52fTUC1XrkXro8jY7Rltq1jv5JxfQNugdzYApBDiZsJRxnEnzsT7pbHJqSYoeqcVIj7 bK82nAGp331vBSVkSSPDIDlNImQgpK9DFeQtQWuHCdij91PQMfR7Ef55kxnxPjzODeSvzRUHrS7 HA+ihx X-Received: by 2002:a05:600c:190e:b0:49c:f4ff:e872 with SMTP id 5b1f17b1804b1-49eb7314d54mr29833885e9.5.1789565269027; Wed, 16 Sep 2026 06:27:49 -0700 (PDT) X-Received: by 2002:a05:600c:190e:b0:49c:f4ff:e872 with SMTP id 5b1f17b1804b1-49eb7314d54mr29833455e9.5.1789565268592; Wed, 16 Sep 2026 06:27:48 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: den@openvz.org, qemu-block@nongnu.org Subject: [PATCH 2/2] nbd: call reconnect_delay_timer_del with requests_lock taken Date: Wed, 16 Sep 2026 15:27:40 +0200 Message-ID: <20260916132740.872244-3-pbonzini@redhat.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260916132740.872244-1-pbonzini@redhat.com> References: <20260916132740.872244-1-pbonzini@redhat.com> MIME-Version: 1.0 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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1789565335531158500 Content-Type: text/plain; charset="utf-8" This ensures that s->reconnect_delay_timer is written under the lock. Signed-off-by: Paolo Bonzini Reviewed-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy --- block/nbd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/block/nbd.c b/block/nbd.c index 85842e7cdfb..82af55ec4e4 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -207,6 +207,7 @@ static void coroutine_fn nbd_channel_error(BDRVNBDState= *s, int ret) nbd_channel_error_locked(s, ret); } =20 +/* Called with s->requests_lock held. */ static void reconnect_delay_timer_del(BDRVNBDState *s) { if (s->reconnect_delay_timer) { @@ -219,8 +220,8 @@ static void reconnect_delay_timer_cb(void *opaque) { BDRVNBDState *s =3D opaque; =20 - reconnect_delay_timer_del(s); WITH_QEMU_LOCK_GUARD(&s->requests_lock) { + reconnect_delay_timer_del(s); if (s->state !=3D NBD_CLIENT_CONNECTING_WAIT) { return; } @@ -2134,9 +2135,9 @@ static void nbd_cancel_in_flight(BlockDriverState *bs) { BDRVNBDState *s =3D (BDRVNBDState *)bs->opaque; =20 + qemu_mutex_lock(&s->requests_lock); reconnect_delay_timer_del(s); =20 - qemu_mutex_lock(&s->requests_lock); if (s->state =3D=3D NBD_CLIENT_CONNECTING_WAIT) { s->state =3D NBD_CLIENT_CONNECTING_NOWAIT; } --=20 2.55.0