[Devel] [PATCH v5 vz9 7/7] dm-ploop: simplify ploop_preallocate_cluster()

Konstantin Khorenko khorenko at virtuozzo.com
Mon Jul 7 22:48:01 MSK 2025


From: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>

Plus dropped aligning of the "new_len" as proper alignment is done in
ploop_req_prealloc().

https://virtuozzo.atlassian.net/browse/VSTOR-108868
Co-developed-by: Andrey Zhadchenko <andrey.zhadchenko at virtuozzo.com>
Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>

Feature: dm-ploop: ploop target driver
---
 drivers/md/dm-ploop-map.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop-map.c
index 7c79a7ed1177e..0c30f2cdd0915 100644
--- a/drivers/md/dm-ploop-map.c
+++ b/drivers/md/dm-ploop-map.c
@@ -1175,21 +1175,20 @@ ALLOW_ERROR_INJECTION(ploop_truncate_prealloc_safe, ERRNO);
 static int ploop_preallocate_cluster(struct ploop *ploop, struct file *file)
 {
 	struct ploop_delta *top = ploop_top_delta(ploop);
-	loff_t end;
+	loff_t new_len;
 	unsigned long flags;
 	int ret;
 
 	spin_lock_irqsave(&ploop->bat_lock, flags);
 prealloc_more:
 	ploop->prealloc_in_progress = ploop->prealloc_size;
-	end = top->file_size + ploop->prealloc_in_progress;
-	loff_t new_len = ALIGN(end, ploop->prealloc_in_progress);
 	ploop->prealloc_size = 0;
-	if (!ploop->prealloc_in_progress)
-		new_len = 0;
-	spin_unlock_irqrestore(&ploop->bat_lock, flags);
-	if (!new_len)
+	if (!ploop->prealloc_in_progress) {
+		spin_unlock_irqrestore(&ploop->bat_lock, flags);
 		return 0;
+	}
+	new_len = top->file_size + ploop->prealloc_in_progress;
+	spin_unlock_irqrestore(&ploop->bat_lock, flags);
 
 	ret = ploop_truncate_prealloc_safe(ploop, top, top->file_size,
 					   new_len, file, __func__);
-- 
2.43.0



More information about the Devel mailing list