From: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
To: qemu-devel@nongnu.org
Cc: qemu-block@nongnu.org, den@virtuozzo.com, stefanha@redhat.com,
vsementsov@yandex-team.ru, kwolf@redhat.com, hreitz@redhat.com
Subject: [PATCH v5 0/9] parallels: Refactor the code of images checks and fix a bug
Date: Mon, 22 Aug 2022 11:05:08 +0200 [thread overview]
Message-ID: <20220822090517.2289697-1-alexander.ivanov@virtuozzo.com> (raw)
Fix image inflation when offset in BAT is out of image.
Replace whole BAT syncing by flushing only dirty blocks.
Move all the checks outside the main check function in
separate functions
Use WITH_QEMU_LOCK_GUARD for simplier code.
v5:
2: Change the way of data_end fixing.
6,7: Move data_end check to parallels_check_leak().
v4:
1: Move s->data_end fix to parallels_co_check(). Split the check
in parallels_open() and the fix in parallels_co_check() to two patches.
2: A new patch - a part of the patch 1.
Add a fix for data_end to parallels_co_check().
3: Move offset convertation to parallels_set_bat_entry().
4: Fix 'ret' rewriting by bdrv_co_flush() results.
7: Keep 'i' as uint32_t.
v3:
1-8: Fix commit message.
v2:
2: A new patch - a part of the splitted patch 2.
3: Patch order was changed so the replacement is done in parallels_co_check.
Now we use a helper to set BAT entry and mark the block dirty.
4: Revert the condition with s->header_unclean.
5: Move unrelated helper parallels_set_bat_entry creation to a separate patch.
7: Move fragmentation counting code to this function too.
8: Fix an incorrect usage of WITH_QEMU_LOCK_GUARD.
Alexander Ivanov (9):
parallels: Out of image offset in BAT leads to image inflation
parallels: Fix data_end field value in parallels_co_check()
parallels: create parallels_set_bat_entry_helper() to assign BAT value
parallels: Use generic infrastructure for BAT writing in
parallels_co_check()
parallels: Move check of unclean image to a separate function
parallels: Move check of cluster outside image to a separate function
parallels: Move check of leaks to a separate function
parallels: Move statistic collection to a separate function
parallels: Replace qemu_co_mutex_lock by WITH_QEMU_LOCK_GUARD
block/parallels.c | 194 +++++++++++++++++++++++++++++++++-------------
1 file changed, 138 insertions(+), 56 deletions(-)
--
2.34.1
next reply other threads:[~2022-08-22 9:11 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-22 9:05 Alexander Ivanov [this message]
2022-08-22 9:05 ` [PATCH v5 1/9] parallels: Out of image offset in BAT leads to image inflation Alexander Ivanov
2022-08-23 6:58 ` Vladimir Sementsov-Ogievskiy
2022-08-23 7:23 ` Alexander Ivanov
2022-08-23 7:59 ` Vladimir Sementsov-Ogievskiy
2022-08-23 9:45 ` Vladimir Sementsov-Ogievskiy
2022-08-23 9:20 ` Denis V. Lunev
2022-08-23 9:49 ` Alexander Ivanov
2022-08-23 9:58 ` Vladimir Sementsov-Ogievskiy
2022-08-23 10:11 ` Denis V. Lunev
2022-08-24 8:50 ` Vladimir Sementsov-Ogievskiy
2022-08-23 13:50 ` Alexander Ivanov
2022-08-23 15:43 ` Vladimir Sementsov-Ogievskiy
2022-08-23 9:34 ` Denis V. Lunev
2022-08-23 9:47 ` Vladimir Sementsov-Ogievskiy
2022-08-23 10:02 ` Denis V. Lunev
2022-08-23 9:51 ` Denis V. Lunev
2022-08-22 9:05 ` [PATCH v5 2/9] parallels: Fix data_end field value in parallels_co_check() Alexander Ivanov
2022-08-23 7:38 ` Vladimir Sementsov-Ogievskiy
2022-08-23 9:00 ` Alexander Ivanov
2022-08-23 9:23 ` Denis V. Lunev
2022-08-22 9:05 ` [PATCH v5 3/9] parallels: create parallels_set_bat_entry_helper() to assign BAT value Alexander Ivanov
2022-08-22 9:05 ` [PATCH v5 4/9] parallels: Use generic infrastructure for BAT writing in parallels_co_check() Alexander Ivanov
2022-08-23 9:36 ` Denis V. Lunev
2022-08-22 9:05 ` [PATCH v5 5/9] parallels: Move check of unclean image to a separate function Alexander Ivanov
2022-08-22 9:05 ` [PATCH v5 6/9] parallels: Move check of cluster outside " Alexander Ivanov
2022-08-22 9:05 ` [PATCH v5 7/9] parallels: Move check of leaks " Alexander Ivanov
2022-08-23 9:40 ` Denis V. Lunev
2022-08-23 9:56 ` Alexander Ivanov
2022-08-22 9:05 ` [PATCH v5 8/9] parallels: Move statistic collection " Alexander Ivanov
2022-08-22 9:05 ` [PATCH v5 9/9] parallels: Replace qemu_co_mutex_lock by WITH_QEMU_LOCK_GUARD Alexander Ivanov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220822090517.2289697-1-alexander.ivanov@virtuozzo.com \
--to=alexander.ivanov@virtuozzo.com \
--cc=den@virtuozzo.com \
--cc=hreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=vsementsov@yandex-team.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).