[Devel] [PATCH v5 vz9 4/7] dm-ploop: simplify "prealloc_more" loop in ploop_preallocate_cluster()

Konstantin Khorenko khorenko at virtuozzo.com
Mon Jul 7 22:47:58 MSK 2025


From: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>

Just a cleanup/simplification, no logic changed.

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 | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop-map.c
index f7bb6bcf13feb..b59e0d514c95f 100644
--- a/drivers/md/dm-ploop-map.c
+++ b/drivers/md/dm-ploop-map.c
@@ -1172,10 +1172,10 @@ static int ploop_preallocate_cluster(struct ploop *ploop, struct file *file)
 	struct ploop_delta *top = ploop_top_delta(ploop);
 	loff_t end;
 	unsigned long flags;
-	int ret, more = 0;
+	int ret;
 
-prealloc_more:
 	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);
@@ -1190,6 +1190,7 @@ static int ploop_preallocate_cluster(struct ploop *ploop, struct file *file)
 					   new_len, file, __func__);
 	if (ret) {
 		PL_ERR("Failed to preallocate space: %d\n", ret);
+		spin_lock_irqsave(&ploop->bat_lock, flags);
 		goto out;
 	}
 
@@ -1201,15 +1202,8 @@ static int ploop_preallocate_cluster(struct ploop *ploop, struct file *file)
 		PL_ERR("unexpected file size change\n");
 	}
 	if (ploop->prealloc_size)
-		more = 1;
-	spin_unlock_irqrestore(&ploop->bat_lock, flags);
-	if (more) {
-		more = 0;
 		goto prealloc_more;
-	}
-
 out:
-	spin_lock_irqsave(&ploop->bat_lock, flags);
 	ploop->prealloc_in_progress = 0;
 	ploop->prealloc_size = 0;
 	spin_unlock_irqrestore(&ploop->bat_lock, flags);
-- 
2.43.0



More information about the Devel mailing list