From 065c33e7dc7bbd1d5964a5a3af173a69ad3ee931 Mon Sep 17 00:00:00 2001 From: John Levon Date: Fri, 27 May 2022 12:54:26 +0100 Subject: remove refcnt from region (#673) The reference count is unused, and not atomically handled, remove it. Signed-off-by: John Levon Reviewed-by: Thanos Makatos --- lib/dma.c | 2 -- lib/dma.h | 3 --- 2 files changed, 5 deletions(-) (limited to 'lib') diff --git a/lib/dma.c b/lib/dma.c index 2ba331f..2719639 100644 --- a/lib/dma.c +++ b/lib/dma.c @@ -172,8 +172,6 @@ MOCK_DEFINE(dma_controller_remove_region)(dma_controller_t *dma, dma->vfu_ctx->in_cb = CB_NONE; } - assert(region->refcnt == 0); - if (region->info.vaddr != NULL) { dma_controller_unmap_region(dma, region); } else { diff --git a/lib/dma.h b/lib/dma.h index afd7345..6e31f15 100644 --- a/lib/dma.h +++ b/lib/dma.h @@ -96,7 +96,6 @@ typedef struct { vfu_dma_info_t info; int fd; // File descriptor to mmap off_t offset; // File offset - int refcnt; // Number of users of this region char *dirty_bitmap; // Dirty page bitmap } dma_memory_region_t; @@ -255,7 +254,6 @@ dma_map_sg(dma_controller_t *dma, dma_sg_t *sg, struct iovec *iov, sg->dma_addr + sg->offset + sg->length); iov->iov_base = region->info.vaddr + sg->offset; iov->iov_len = sg->length; - region->refcnt++; sg++; iov++; @@ -326,7 +324,6 @@ dma_unmap_sg(dma_controller_t *dma, dma_sg_t *sg, int cnt) vfu_log(dma->vfu_ctx, LOG_DEBUG, "unmap %p-%p", sg->dma_addr + sg->offset, sg->dma_addr + sg->offset + sg->length); - r->refcnt--; sg++; } while (--cnt > 0); } -- cgit v1.1