[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] ping2 Re: [PATCH v4 0/8] dirty-bitmap: rewrite bdrv_dir
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
Re: [Qemu-devel] ping2 Re: [PATCH v4 0/8] dirty-bitmap: rewrite bdrv_dirty_iter_next_area |
Date: |
Thu, 13 Dec 2018 11:07:51 +0000 |
12.12.2018 23:41, John Snow wrote:
>
>
> On 12/12/18 4:27 AM, Vladimir Sementsov-Ogievskiy wrote:
>> ping. No dependencies, apply to master.
>>
>
> Sure thing.
>
> Staged to jsnow/bitmaps.
Thank you!
Oops, I've missed your email about s/firt_dirty_off/first_dirty_off
I can resend, or you can fix in your branch, as you prefer.
The variable touches two commits in jsnow/bitmaps:
commit f235204c39dd5ce122666d87f18005264eb56e51
Author: Vladimir Sementsov-Ogievskiy <address@hidden>
Date: Mon Sep 17 17:57:27 2018 +0300
dirty-bitmap: add bdrv_dirty_bitmap_next_dirty_area
and the last one:
commit 7f73174ca1c8a92e4a5139b35f2a2273f59ce29b (jnsnow/bitmaps)
Author: Vladimir Sementsov-Ogievskiy <address@hidden>
Date: Mon Sep 17 17:57:32 2018 +0300
Revert "hbitmap: Add @advance param to hbitmap_iter_next()"
>
> --js
>
>> 17.09.2018 17:57, Vladimir Sementsov-Ogievskiy wrote:
>>> Hi all.
>>>
>>> 1. bdrv_dirty_iter_next_area don't use hbitmap_next_zero and uses
>>> inefficient loop instead. Let's improve it.
>>>
>>> 2. bdrv_dirty_iter_next_area don't handle unaligned offset and
>>> max_offset correctly. I'm not sure that it is a real bug. But if it is,
>>> we need these series in 3.0.
>>>
>>> Details are in 05 commit message.
>>>
>>> Note: "[PATCH] nbd/server: fix bitmap export" should be applied first:
>>> Based-on: <address@hidden>
>>>
>>> v4:
>>>
>>> Rework: switch interface to start,count / offset,bytes style.
>>> Fix wrong handling of the case when requested region end exceeds
>>> overall bitmap end.
>>> Some other changes.
>>>
>>> 06-08: add John's r-b.
>>>
>>> v3:
>>> 01: - change interface to start/end, and -1 as special end-marker instead
>>> of 0
>>> - "not found" for invalid regions instead of assert
>>> 02: rebase on 01 changes
>>> 03: - fix mistake in hbitmap_iter_init arguments (mistake in
>>> hbitmap_next_zero arguments is fixed automatically due to 01
>>> changes)
>>> 04: new
>>>
>>>
>>> v2:
>>>
>>> 01: - improve comment
>>> - s/bytes/count/
>>> - fix forgotten function call in test
>>> - introduce orig_size field here for HBitmap,
>>> make checking in hbitmap_next_zero more effective and safe
>>> 02: new
>>> 03: - orig_size already introduced in 01
>>> - fix hbitmap_next_dirty_area to not return value less than
>>> offset on unaligned requests
>>>
>>> Vladimir Sementsov-Ogievskiy (8):
>>> dirty-bitmap: improve bdrv_dirty_bitmap_next_zero
>>> tests: add tests for hbitmap_next_zero with specified end parameter
>>> dirty-bitmap: add bdrv_dirty_bitmap_next_dirty_area
>>> tests: add tests for hbitmap_next_dirty_area
>>> block/mirror: fix and improve do_sync_target_write
>>> Revert "block/dirty-bitmap: Add bdrv_dirty_iter_next_area"
>>> Revert "test-hbitmap: Add non-advancing iter_next tests"
>>> Revert "hbitmap: Add @advance param to hbitmap_iter_next()"
>>>
>>> include/block/dirty-bitmap.h | 7 +-
>>> include/qemu/hbitmap.h | 31 ++++--
>>> block/backup.c | 5 +-
>>> block/dirty-bitmap.c | 68 ++------------
>>> block/mirror.c | 17 ++--
>>> nbd/server.c | 2 +-
>>> tests/test-hbitmap.c | 177 +++++++++++++++++++++++++++++------
>>> util/hbitmap.c | 76 ++++++++++++---
>>> 8 files changed, 262 insertions(+), 121 deletions(-)
>>>
>>
>>
>
--
Best regards,
Vladimir