[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 29/42] nbd: Use CAF when looking for dirty bi
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
Re: [Qemu-devel] [PATCH v5 29/42] nbd: Use CAF when looking for dirty bitmap |
Date: |
Tue, 18 Jun 2019 13:58:31 +0000 |
13.06.2019 1:09, Max Reitz wrote:
> When looking for a dirty bitmap to share, we should handle filters by
> just including them in the search (so they do not break backing chains).
>
> Signed-off-by: Max Reitz <address@hidden>
> ---
> nbd/server.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/nbd/server.c b/nbd/server.c
> index aeca3893fe..0d51d46b81 100644
> --- a/nbd/server.c
> +++ b/nbd/server.c
> @@ -1508,13 +1508,13 @@ NBDExport *nbd_export_new(BlockDriverState *bs,
> uint64_t dev_offset,
> if (bitmap) {
> BdrvDirtyBitmap *bm = NULL;
>
> - while (true) {
> + while (bs) {
> bm = bdrv_find_dirty_bitmap(bs, bitmap);
> - if (bm != NULL || bs->backing == NULL) {
> + if (bm != NULL) {
> break;
> }
>
> - bs = bs->backing->bs;
> + bs = bdrv_filtered_bs(bs);
> }
>
> if (bm == NULL) {
>
Hmm, I'm a bit confused by the fact that we reuse bs for the other purpose (it
was my idea, but bad one),
it seems safe here, as the only following usage of bs seems want entirely bs
containing the bitmap, so it's
OK.. It may be worth adding near "BdrvDirtyBitmap *bm" and additional
"BlockDriverState *bm_bs = bs" and
operate on it.
Anyway:
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
--
Best regards,
Vladimir
- Re: [Qemu-devel] [PATCH v5 24/42] block: Use child access functions for QAPI queries, (continued)
- [Qemu-devel] [PATCH v5 26/42] backup: Deal with filters, Max Reitz, 2019/06/12
- [Qemu-devel] [PATCH v5 27/42] commit: Deal with filters, Max Reitz, 2019/06/12
- [Qemu-devel] [PATCH v5 31/42] block: Drop backing_bs(), Max Reitz, 2019/06/12
- [Qemu-devel] [PATCH v5 28/42] stream: Deal with filters, Max Reitz, 2019/06/12
- [Qemu-devel] [PATCH v5 32/42] block: Make bdrv_get_cumulative_perm() public, Max Reitz, 2019/06/12
- [Qemu-devel] [PATCH v5 29/42] nbd: Use CAF when looking for dirty bitmap, Max Reitz, 2019/06/12
- [Qemu-devel] [PATCH v5 30/42] qemu-img: Use child access functions, Max Reitz, 2019/06/12
- [Qemu-devel] [PATCH v5 33/42] blockdev: Fix active commit choice, Max Reitz, 2019/06/12
[Qemu-devel] [PATCH v5 34/42] block: Inline bdrv_co_block_status_from_*(), Max Reitz, 2019/06/12