From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 27D28813D0 for ; Mon, 9 Nov 2026 19:08:25 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 6A9J78LY002912; Mon, 9 Nov 2026 22:07:09 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A9J78LY002912 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=default; t=1794251230; bh=NOtDTK5jtRUno5V+X3riI+nLh143lTcJtR0RYi6pehk=; h=From:To:Date:In-Reply-To:References:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe; b=vu6KKua5cFLz2yR6N6/ikMmLRg83/sJOyZhnc4qqa1oVTAn6ouMgd7/DDDorCq7er w2aWeSkjHejSPMYfqbe2htBtRkGrlG9Dv23v120KytaPP/T01l3uQGJe4jieTQYgVT +Jt1YMMSD01GfVuz0ASD984atGbj3b3l505riwnsR+jRLLSZjhALlXRBwkHBO3dD6t EndEO6FRGfBtAS//kGfOyn6DNUP+/lB2mu7Oklu2ErZeFdgzx66vCf9cc+ueGHcGWt Ov31VxhLrall2r3jWcw0vi82JbKlUWbmTwlQl2ToLokgHaxYBtMMDTMUHKVWeKvIw1 r/evnEJi2r/FQ== Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 6A9J73Lo002897 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Mon, 9 Nov 2026 22:07:03 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A9J73Lo002897 Authentication-Results: mail.openvz.org; dkim=pass (2048-bit key) header.d=openvz.org header.i=@openvz.org header.b="HdbMrBkQ" Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-492b5408dedso776322f8f.3 for ; Mon, 09 Nov 2026 11:07:03 -0800 (PST) X-Gm-Message-State: APuU4Z9Y7UnFMHt3OBU98HGl8UXx7W17UI9Ov0zqsz8+VUe5FGfwA6ET s+7Oo2Vg7gTWw7Au37zWBiShk6fPJJwUAbca1HNH7fwDJpLvMpMHOkwDA40tx0QQRLhmVty4+y4 ClOkeE8CsQVx8URRm4/g5B2kKlu+v8CyLycGY7vNAPf0qrOj0uenlFQ== X-Gm-Gg: AYBFou32XvNbWfmgDAlMmLlQY6hEiA9YSAZ/q0/npQFTM59JxQ4PZquz+rKJ2RJyb+0 Y27Iqu4DxbwAKCJ0T9tOjuQuFldZwvQ4zmvxiOoNkKpg/KDTPqeutzbTeqiAqtGjyVvtPn6eZMz OeuDplqWuSWODsd28f50XPLnBgXPrLitZF/f/T+0MHjM+BkOC6VjqlUN+4JumvtpHYST+A1vqEl ujALGC0yHLfWJVHIFQsnCgXUhEIpfAANdU+wOtgbGGK2eZHlfUGz8nvs+/uZHbyZ5fuMLOqKeEK Tosh9DLjtw== X-Received: by 2002:a05:600c:3b85:b0:4a1:fb23:68f0 with SMTP id 5b1f17b1804b1-4ba0230c856mr4182285e9.3.1794251223128; Mon, 09 Nov 2026 11:07:03 -0800 (PST) X-Received: by 2002:a05:600c:3b85:b0:4a1:fb23:68f0 with SMTP id 5b1f17b1804b1-4ba0230c856mr4181915e9.3.1794251222714; Mon, 09 Nov 2026 11:07:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1794251222; cv=none; d=google.com; s=arc-20260327; b=NzeQcoHFmbeP4PUDqqGxuPCfnxx20U9ekcUE5FLV4lU49lcVk5fhT89lP04vZh3SWW nLS9ByBL4Zh1lRRDBOTmMXQcRflvSL6gqPyHXqVLY8axJbdliU2PIgWly7V5gW9jw9xL o1+iCrJBoMUec57asgHIPoX3TzqTei4kNqfqIq/0oWCeKp1+kmlO5HBmsPMiVx+y0wrq rIEFYQjVx2Mh+0mns23D+FkvOXVT2AK9Wb2cLbXkxnPf1s6hdw+2ygac+18J6fWxp144 125GJe+hN6EwgF78jOf2Xhro+pJ/TfoFg6/XmCnkxyQDntnnk9Itk2C8w7Adda4RiBpp Fkqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=m9NkfwAbYCmgaEu8SNVx2hjaKkkzmAEzwjvhjoSs0wo=; fh=uKyv8CX20pIv0edA0snNI8OF5jIxi29DT778HkdeB4k=; b=ksZ29n6CfoPzFIL476Amyaw9yyH8MSz1WkaWl93MLHK49b1uQk9nOcRumvbdSP+QpT FokuKwX5Hhc04ZaVKQcnE5CBEU8mgqqBJqv3+wC2wRjWQxg5kpmlHkbd0Znxvbr/4mTw Pcmtsrs2DdIOILlwGlcCpR1Y9IfaZKiVPjSwSefhWrhTYS8sEzI/lBo3T/f2yJX4EsmN SBaRfcGVs65uvaj2SBHGcJ6o3Mwoy4aGpp7TNWzo7G+BQu2DLm9tWDSbn8vL6lR4jjmd 5HJzBH09gCiNiNdwif8skBsQXA7KTN77oWdV9pUC/AS2P3GNrt7pL14ibpQeokhGQofu VDuw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@openvz.org header.s=google header.b=HdbMrBkQ; spf=softfail (google.com: domain of transitioning den@openvz.org does not designate 2a06:5b06:b600:300:dcbf:4b53:b63f:3b41 as permitted sender) smtp.mailfrom=den@openvz.org; dara=neutral header.i=@openvz.org Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id ffacd0b85a97d-49832e0c0a2sor57411f8f.7.2026.11.09.11.07.02 for (Google Transport Security); Mon, 09 Nov 2026 11:07:02 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning den@openvz.org does not designate 2a06:5b06:b600:300:dcbf:4b53:b63f:3b41 as permitted sender) client-ip=2a06:5b06:b600:300:dcbf:4b53:b63f:3b41; Authentication-Results: mx.google.com; dkim=pass header.i=@openvz.org header.s=google header.b=HdbMrBkQ; spf=softfail (google.com: domain of transitioning den@openvz.org does not designate 2a06:5b06:b600:300:dcbf:4b53:b63f:3b41 as permitted sender) smtp.mailfrom=den@openvz.org; dara=neutral header.i=@openvz.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1794251222; x=1794856022; darn=openvz.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=m9NkfwAbYCmgaEu8SNVx2hjaKkkzmAEzwjvhjoSs0wo=; b=HdbMrBkQh8e90nafKE02B/sEirj57iuWBmGEnDGTri5lokchimYJr2MBXZomxF5Shr yRyFYwOU+736x9BHPorCO9VjN5HoGifRJ78OOAnddue3OGNlEMDqb5x/Zl6jOan0T6Ru thXLT5O5r95eBuL8mfJHApxJvKeZmgJcs8cV6RHIEYpim4snl5tkb7N1ZXQTLfIQpCka 2eH05HxOcuv5rciOdE45QXpI/1WykJeOsaYlexQsofRPdlm5nSTziNmtP3GZuz/YN8Qv iPsuq2mUsdb5e7uHxHGJroExIOQB6hqUEHXwCN+Hx9qQFNN2d00CP2GowxKryfzUrc6K 4m2A== X-Received: by 2002:a05:6000:22c9:b0:48e:e9e:129 with SMTP id ffacd0b85a97d-498306cf5d9mr749933f8f.29.1794251222237; Mon, 09 Nov 2026 11:07:02 -0800 (PST) Received: from athena.sw.ru ([2a06:5b06:b600:300:dcbf:4b53:b63f:3b41]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-498366c30b1sm542084f8f.46.2026.11.09.11.07.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Nov 2026 11:07:01 -0800 (PST) From: "Denis V. Lunev" To: khorenko@virtuozzo.com, andrey.zhadchenko@virtuozzo.com Date: Mon, 9 Nov 2026 20:06:57 +0100 Message-ID: <20261109190657.1851487-3-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261109190657.1851487-1-den@openvz.org> References: <20261109190657.1851487-1-den@openvz.org> MIME-Version: 1.0 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 2/2] dm-ploop: fix the ENOSPC retry timer not waking the dispatcher X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org From: Denis V. Lunev A write that fails with ENOSPC on the image is held on enospc_pios and retried when enospc_timer fires, so that I/O resumes once space is freed. ploop_enospc_timer() only sets submit_enospc, which only do_ploop_run_work() consumes, and nothing wakes the dispatcher for it. ploop_worker() also goes to sleep with the flag set, as its sleep condition checks the pio lists only. The held writes are retried only when other I/O reaches the device: on a device whose only I/O is the held writes, the writers stay in D state after the space is freed. Wake the dispatcher from the timer, and keep ploop_worker() awake while submit_enospc is set, so that a wakeup that comes while the dispatcher is busy is not lost. Test and clear the flag with xchg() in do_ploop_run_work(), as the timer now sets it from another CPU. https://virtuozzo.atlassian.net/browse/VSTOR-154182 Fixes: afc60480b037 ("dm-ploop: resubmit enospc pios from dispatcher thread") Feature: dm-ploop: ploop target driver Signed-off-by: Denis V. Lunev --- drivers/md/dm-ploop-map.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop-map.c index ae3e287604b7..a4e17aa090a6 100644 --- a/drivers/md/dm-ploop-map.c +++ b/drivers/md/dm-ploop-map.c @@ -165,7 +165,9 @@ static void ploop_init_prq_and_embedded_pio(struct ploop *ploop, void ploop_enospc_timer(struct timer_list *timer) { struct ploop *ploop = timer_container_of(ploop, timer, enospc_timer); - ploop->submit_enospc = true; + + WRITE_ONCE(ploop->submit_enospc, true); + wake_up_process(ploop->kt_worker->task); } void do_ploop_event_work(struct work_struct *ws) @@ -2241,10 +2243,8 @@ static void do_ploop_run_work(struct ploop *ploop) current->flags |= PLOOP_PFLAGS; - if (ploop->submit_enospc) { - ploop->submit_enospc = false; + if (xchg(&ploop->submit_enospc, false)) ploop_resubmit_enospc_pios(ploop); - } llembedded_pios = llist_del_all(&ploop->pios[PLOOP_LIST_PREPARE]); @@ -2447,6 +2447,7 @@ int ploop_worker(void *data) llist_empty(&ploop->pios[PLOOP_LIST_DISCARD]) && llist_empty(&ploop->pios[PLOOP_LIST_COW]) && llist_empty(&ploop->llresubmit_pios) && + !READ_ONCE(ploop->submit_enospc) && !ploop->force_md_writeback) { if (kthread_should_stop()) { wait_event_interruptible( -- 2.53.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel