[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 15/21] parallels: Reverse a conditional in parallels_check_leak()
From: |
Alexander Ivanov |
Subject: |
[PATCH 15/21] parallels: Reverse a conditional in parallels_check_leak() to reduce indents |
Date: |
Thu, 28 Dec 2023 10:41:47 +0100 |
Let the function return a success code if a file size is not bigger than
image_end_offset. Thus we can decrease indents in the next code block.
Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
---
block/parallels.c | 72 +++++++++++++++++++++++------------------------
1 file changed, 36 insertions(+), 36 deletions(-)
diff --git a/block/parallels.c b/block/parallels.c
index d5d87984cf..fb7bc5e555 100644
--- a/block/parallels.c
+++ b/block/parallels.c
@@ -773,7 +773,7 @@ parallels_check_leak(BlockDriverState *bs, BdrvCheckResult
*res,
BdrvCheckMode fix, bool explicit)
{
BDRVParallelsState *s = bs->opaque;
- int64_t size;
+ int64_t size, count;
int ret;
size = bdrv_co_getlength(bs->file->bs);
@@ -781,43 +781,43 @@ parallels_check_leak(BlockDriverState *bs,
BdrvCheckResult *res,
res->check_errors++;
return size;
}
+ if (size <= res->image_end_offset) {
+ return 0;
+ }
+
+ count = DIV_ROUND_UP(size - res->image_end_offset, s->cluster_size);
+ if (explicit) {
+ fprintf(stderr,
+ "%s space leaked at the end of the image %" PRId64 "\n",
+ fix & BDRV_FIX_LEAKS ? "Repairing" : "ERROR",
+ size - res->image_end_offset);
+ res->leaks += count;
+ }
+ if (fix & BDRV_FIX_LEAKS) {
+ Error *local_err = NULL;
+
+ /*
+ * In order to really repair the image, we must shrink it.
+ * That means we have to pass exact=true.
+ */
+ ret = bdrv_co_truncate(bs->file, res->image_end_offset, true,
+ PREALLOC_MODE_OFF, 0, &local_err);
+ if (ret < 0) {
+ error_report_err(local_err);
+ res->check_errors++;
+ return ret;
+ }
+ s->data_end = res->image_end_offset >> BDRV_SECTOR_BITS;
+
+ parallels_free_used_bitmap(bs);
+ ret = parallels_fill_used_bitmap(bs);
+ if (ret == -ENOMEM) {
+ res->check_errors++;
+ return ret;
+ }
- if (size > res->image_end_offset) {
- int64_t count;
- count = DIV_ROUND_UP(size - res->image_end_offset, s->cluster_size);
if (explicit) {
- fprintf(stderr,
- "%s space leaked at the end of the image %" PRId64 "\n",
- fix & BDRV_FIX_LEAKS ? "Repairing" : "ERROR",
- size - res->image_end_offset);
- res->leaks += count;
- }
- if (fix & BDRV_FIX_LEAKS) {
- Error *local_err = NULL;
-
- /*
- * In order to really repair the image, we must shrink it.
- * That means we have to pass exact=true.
- */
- ret = bdrv_co_truncate(bs->file, res->image_end_offset, true,
- PREALLOC_MODE_OFF, 0, &local_err);
- if (ret < 0) {
- error_report_err(local_err);
- res->check_errors++;
- return ret;
- }
- s->data_end = res->image_end_offset >> BDRV_SECTOR_BITS;
-
- parallels_free_used_bitmap(bs);
- ret = parallels_fill_used_bitmap(bs);
- if (ret == -ENOMEM) {
- res->check_errors++;
- return ret;
- }
-
- if (explicit) {
- res->leaks_fixed += count;
- }
+ res->leaks_fixed += count;
}
}
--
2.40.1
- [PATCH 07/21] parallels: Set data_end value in parallels_check_leak(), (continued)
- [PATCH 07/21] parallels: Set data_end value in parallels_check_leak(), Alexander Ivanov, 2023/12/28
- [PATCH 11/21] parallels: Add dirty bitmaps saving, Alexander Ivanov, 2023/12/28
- [PATCH 10/21] parallels: Create used bitmap even if checks needed, Alexander Ivanov, 2023/12/28
- [PATCH 08/21] parallels: Recreate used bitmap in parallels_check_leak(), Alexander Ivanov, 2023/12/28
- [PATCH 12/21] parallels: Let image extensions work in RW mode, Alexander Ivanov, 2023/12/28
- [PATCH 13/21] parallels: Handle L1 entries equal to one, Alexander Ivanov, 2023/12/28
- [PATCH 17/21] parallels: Check unused clusters in parallels_check_leak(), Alexander Ivanov, 2023/12/28
- [PATCH 20/21] tests: Turned on 256, 299, 304 and block-status-cache for parallels format, Alexander Ivanov, 2023/12/28
- [PATCH 21/21] tests: Add parallels format support to image-fleecing, Alexander Ivanov, 2023/12/28
- [PATCH 09/21] parallels: Add a note about used bitmap in parallels_check_duplicate(), Alexander Ivanov, 2023/12/28
- [PATCH 15/21] parallels: Reverse a conditional in parallels_check_leak() to reduce indents,
Alexander Ivanov <=
- [PATCH 14/21] parallels: Make a loaded dirty bitmap persistent, Alexander Ivanov, 2023/12/28
- [PATCH 18/21] parallels: Remove unnecessary data_end field, Alexander Ivanov, 2023/12/28
- [PATCH 19/21] tests: Add parallels images support to test 165, Alexander Ivanov, 2023/12/28
- [PATCH 16/21] parallels: Truncate images on the last used cluster, Alexander Ivanov, 2023/12/28
- [PATCH 03/21] parallels: Make mark_used() a global function, Alexander Ivanov, 2023/12/28
- Re: [PATCH 01/21] parallels: Set s->used_bmap to NULL in parallels_free_used_bitmap(), Alexander Ivanov, 2023/12/28