From: Pavel Tikhomirov <ptikhomi...@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.zhadche...@virtuozzo.com> Signed-off-by: Pavel Tikhomirov <ptikhomi...@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 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel