[Devel] [PATCH RHEL9 COMMIT] dm-ploop: drop excessive wb delay disable during resize
Konstantin Khorenko
khorenko at virtuozzo.com
Wed Jul 16 16:45:45 MSK 2025
The commit is pushed to "branch-rh9-5.14.0-427.55.1.vz9.82.x-ovz" and will appear at git at bitbucket.org:openvz/vzkernel.git
after rh9-5.14.0-427.55.1.vz9.82.8
------>
commit 89f505f973a37e34cbb4f1f4884559adbb4657e5
Author: Andrey Zhadchenko <andrey.zhadchenko at virtuozzo.com>
Date: Wed Jul 16 12:37:51 2025 +0300
dm-ploop: drop excessive wb delay disable during resize
as ploop_suspend_submitting_pios() already contains
ploop_disable_writeback_delay() and is called before
ploop_process_resize_cmd()
https://virtuozzo.atlassian.net/browse/VSTOR-108540
Signed-off-by: Andrey Zhadchenko <andrey.zhadchenko at virtuozzo.com>
Reviewed-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
Feature: dm-ploop: ploop target driver
======
Patchset description:
dm-ploop: improve pio submission suspension
Recently we encountered EBUSY errors while trying to resize ploop
devices under load. This mostly happens because we are not waiting
in-progess IO correctly:
- initial pio is removed from inflight even if its split pios are
still running
- there is no wait for metadata writeback
This patchset fixes that by moving inflight decrease later and
introducing new counter for inflight metadata writeback.
Note that for dm-qcow2 patches are not needed: it does not have
delayed metadata writeback and inflight counters are decreased
correctly at the time of endio_cb.
https://virtuozzo.atlassian.net/browse/VSTOR-108540
---
drivers/md/dm-ploop-cmd.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/md/dm-ploop-cmd.c b/drivers/md/dm-ploop-cmd.c
index 8a9e86bd028bf..85bb69714ca86 100644
--- a/drivers/md/dm-ploop-cmd.c
+++ b/drivers/md/dm-ploop-cmd.c
@@ -467,7 +467,6 @@ static int ploop_process_resize_cmd(struct ploop *ploop, struct ploop_cmd *cmd)
u32 dst_clu;
int ret = 0;
- ploop_disable_writeback_delay(ploop);
/* Update memory arrays and hb_nr, but do not update nr_bat_entries. */
ploop_advance_holes_bitmap(ploop, cmd);
@@ -500,8 +499,6 @@ static int ploop_process_resize_cmd(struct ploop *ploop, struct ploop_cmd *cmd)
}
spin_unlock_irq(&ploop->bat_lock);
- ploop_enable_writeback_delay(ploop);
-
return ret;
}
ALLOW_ERROR_INJECTION(ploop_process_resize_cmd, ERRNO);
More information about the Devel
mailing list