* [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.