* [Qemu-devel] ping Re: [PATCH v4 0/8] dirty-bitmap: rewrite bdrv_dirty_iter_next_area
[not found] <20180917145732.48590-1-vsementsov@virtuozzo.com>
@ 2018-10-11 15:38 ` Vladimir Sementsov-Ogievskiy
2018-12-12 9:27 ` [Qemu-devel] ping2 " Vladimir Sementsov-Ogievskiy
1 sibling, 0 replies; 6+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2018-10-11 15:38 UTC (permalink / raw)
To: qemu-devel, qemu-block
Cc: pbonzini, eblake, jsnow, famz, mreitz, kwolf, jcody, Denis Lunev
ping
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: <20180914165116.23182-1-vsementsov@virtuozzo.com>
>
> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] ping2 Re: [PATCH v4 0/8] dirty-bitmap: rewrite bdrv_dirty_iter_next_area
[not found] <20180917145732.48590-1-vsementsov@virtuozzo.com>
2018-10-11 15:38 ` [Qemu-devel] ping Re: [PATCH v4 0/8] dirty-bitmap: rewrite bdrv_dirty_iter_next_area Vladimir Sementsov-Ogievskiy
@ 2018-12-12 9:27 ` Vladimir Sementsov-Ogievskiy
2018-12-12 20:41 ` John Snow
1 sibling, 1 reply; 6+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2018-12-12 9:27 UTC (permalink / raw)
To: qemu-devel, qemu-block
Cc: pbonzini, eblake, jsnow, famz, mreitz, kwolf, jcody, Denis Lunev
ping. No dependencies, apply to master.
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: <20180914165116.23182-1-vsementsov@virtuozzo.com>
>
> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] ping2 Re: [PATCH v4 0/8] dirty-bitmap: rewrite bdrv_dirty_iter_next_area
2018-12-12 9:27 ` [Qemu-devel] ping2 " Vladimir Sementsov-Ogievskiy
@ 2018-12-12 20:41 ` John Snow
2018-12-13 11:07 ` Vladimir Sementsov-Ogievskiy
0 siblings, 1 reply; 6+ messages in thread
From: John Snow @ 2018-12-12 20:41 UTC (permalink / raw)
To: Vladimir Sementsov-Ogievskiy, qemu-devel, qemu-block
Cc: kwolf, famz, Denis Lunev, jcody, mreitz, pbonzini
On 12/12/18 4:27 AM, Vladimir Sementsov-Ogievskiy wrote:
> ping. No dependencies, apply to master.
>
Sure thing.
Staged to jsnow/bitmaps.
--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: <20180914165116.23182-1-vsementsov@virtuozzo.com>
>>
>> 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(-)
>>
>
>
--
—js
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] ping2 Re: [PATCH v4 0/8] dirty-bitmap: rewrite bdrv_dirty_iter_next_area
2018-12-12 20:41 ` John Snow
@ 2018-12-13 11:07 ` Vladimir Sementsov-Ogievskiy
2018-12-13 18:18 ` John Snow
0 siblings, 1 reply; 6+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2018-12-13 11:07 UTC (permalink / raw)
To: John Snow, qemu-devel, qemu-block
Cc: kwolf, famz, Denis Lunev, jcody, mreitz, pbonzini
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 <vsementsov@virtuozzo.com>
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 <vsementsov@virtuozzo.com>
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: <20180914165116.23182-1-vsementsov@virtuozzo.com>
>>>
>>> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] ping2 Re: [PATCH v4 0/8] dirty-bitmap: rewrite bdrv_dirty_iter_next_area
2018-12-13 11:07 ` Vladimir Sementsov-Ogievskiy
@ 2018-12-13 18:18 ` John Snow
2018-12-13 20:06 ` Denis Lunev
0 siblings, 1 reply; 6+ messages in thread
From: John Snow @ 2018-12-13 18:18 UTC (permalink / raw)
To: Vladimir Sementsov-Ogievskiy, qemu-devel, qemu-block
Cc: kwolf, famz, Denis Lunev, jcody, mreitz, pbonzini
On 12/13/18 6:07 AM, Vladimir Sementsov-Ogievskiy wrote:
> 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:
>
Whoops, I forgot too. I just remember that I was waiting on a requisite
and it got lost so I was in a hurry to stage it for you. I'll just
squash any fixes in.
I'll try to send the PR when the qemu-img bitmap info patch is ready,
alongside my series to drop the x-prefix (and adjust the merge API.)
Anything else urgent for the start of the 4.0 window before we all
disappear on holiday break?
--js
> commit f235204c39dd5ce122666d87f18005264eb56e51
> Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
> 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 <vsementsov@virtuozzo.com>
> Date: Mon Sep 17 17:57:32 2018 +0300
>
> Revert "hbitmap: Add @advance param to hbitmap_iter_next()"
>
>
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] ping2 Re: [PATCH v4 0/8] dirty-bitmap: rewrite bdrv_dirty_iter_next_area
2018-12-13 18:18 ` John Snow
@ 2018-12-13 20:06 ` Denis Lunev
0 siblings, 0 replies; 6+ messages in thread
From: Denis Lunev @ 2018-12-13 20:06 UTC (permalink / raw)
To: John Snow, Vladimir Sementsov-Ogievskiy, qemu-devel, qemu-block
Cc: kwolf, famz, jcody, mreitz, pbonzini
On 12/13/18 9:18 PM, John Snow wrote:
>
> On 12/13/18 6:07 AM, Vladimir Sementsov-Ogievskiy wrote:
>> 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:
>>
> Whoops, I forgot too. I just remember that I was waiting on a requisite
> and it got lost so I was in a hurry to stage it for you. I'll just
> squash any fixes in.
>
> I'll try to send the PR when the qemu-img bitmap info patch is ready,
> alongside my series to drop the x-prefix (and adjust the merge API.)
>
> Anything else urgent for the start of the 4.0 window before we all
> disappear on holiday break?
>
> --js
JFYI: Holidays in Russia are AFTER New Year, not before :)
We will be on vacations from 01 till 08.
Den
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-12-13 20:06 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20180917145732.48590-1-vsementsov@virtuozzo.com>
2018-10-11 15:38 ` [Qemu-devel] ping Re: [PATCH v4 0/8] dirty-bitmap: rewrite bdrv_dirty_iter_next_area Vladimir Sementsov-Ogievskiy
2018-12-12 9:27 ` [Qemu-devel] ping2 " Vladimir Sementsov-Ogievskiy
2018-12-12 20:41 ` John Snow
2018-12-13 11:07 ` Vladimir Sementsov-Ogievskiy
2018-12-13 18:18 ` John Snow
2018-12-13 20:06 ` Denis Lunev
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.