mbox series

[v2,0/5] parallels: Add duplication check, repair at open, fix bugs

Message ID 20230112150149.1452033-1-alexander.ivanov@virtuozzo.com (mailing list archive)
Headers show
Series parallels: Add duplication check, repair at open, fix bugs | expand

Message

Alexander Ivanov Jan. 12, 2023, 3:01 p.m. UTC
Fix incorrect data end calculation in parallels_open().

Split image leak handling to separate check and fix helpers.

Add checking and repairing duplicate offsets in BAT

Replace fprintf() by qemu_log().

Image repairing in parallels_open().

v2:
2: Moved outsude parallels_check_leak() 2 helpers:
   parallels_get_leak_size() and parallels_fix_leak().
   
3: Used highest_offset() helper in parallels_check_leak(). Fixed a typo.
   Added comments. Replaced g_malloc() call by qemu_memalign(). Replaced
   bdrv_pread() call by bdrv_co_pread(). Got rid of keeping bytes and
   sectors in the same variable. Added setting the bitmap of the used
   clusters for a new allocated cluster if it isn't out of the bitmap.
   Moved the leak fix to the end of all the checks. Removed a dependence
   on image format for the duplicate check.
   
4 (old): Merged this patch to the previous.
4 (former 5): Fixed formatting.
5 (former 6): Fixed comments. Added O_INACTIVE check in the condition.
              Replaced inuse detection by header_unclean checking.
              Replaced playing with corutines by bdrv_check() usage.

Alexander Ivanov (5):
  parallels: Incorrect data end calculation in parallels_open()
  parallels: Split image leak handling to separate check and fix helpers
  parallels: Add checking and repairing duplicate offsets in BAT
  parallels: Replace fprintf by qemu_log in check
  parallels: Image repairing in parallels_open()

 block/parallels.c | 321 +++++++++++++++++++++++++++++++++++-----------
 1 file changed, 247 insertions(+), 74 deletions(-)

Comments

Alexander Ivanov Jan. 15, 2023, 4:03 p.m. UTC | #1
This patchset should be applied on the top of *[PATCH v8 00/11] 
parallels: Refactor the code of images checks and fix a bug*

On 12.01.2023 16:01, Alexander Ivanov wrote:
> Fix incorrect data end calculation in parallels_open().
>
> Split image leak handling to separate check and fix helpers.
>
> Add checking and repairing duplicate offsets in BAT
>
> Replace fprintf() by qemu_log().
>
> Image repairing in parallels_open().
>
> v2:
> 2: Moved outsude parallels_check_leak() 2 helpers:
>     parallels_get_leak_size() and parallels_fix_leak().
>     
> 3: Used highest_offset() helper in parallels_check_leak(). Fixed a typo.
>     Added comments. Replaced g_malloc() call by qemu_memalign(). Replaced
>     bdrv_pread() call by bdrv_co_pread(). Got rid of keeping bytes and
>     sectors in the same variable. Added setting the bitmap of the used
>     clusters for a new allocated cluster if it isn't out of the bitmap.
>     Moved the leak fix to the end of all the checks. Removed a dependence
>     on image format for the duplicate check.
>     
> 4 (old): Merged this patch to the previous.
> 4 (former 5): Fixed formatting.
> 5 (former 6): Fixed comments. Added O_INACTIVE check in the condition.
>                Replaced inuse detection by header_unclean checking.
>                Replaced playing with corutines by bdrv_check() usage.
>
> Alexander Ivanov (5):
>    parallels: Incorrect data end calculation in parallels_open()
>    parallels: Split image leak handling to separate check and fix helpers
>    parallels: Add checking and repairing duplicate offsets in BAT
>    parallels: Replace fprintf by qemu_log in check
>    parallels: Image repairing in parallels_open()
>
>   block/parallels.c | 321 +++++++++++++++++++++++++++++++++++-----------
>   1 file changed, 247 insertions(+), 74 deletions(-)
>