提交 2f0d8947 编写于 作者: P Paolo Bonzini 提交者: Fam Zheng

nvme: simplify plug/unplug

bdrv_io_plug/bdrv_io_unplug take care of keeping a nesting count,
so change s->plugged to just a bool.
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
Message-Id: <20180813144320.12382-2-pbonzini@redhat.com>
Signed-off-by: NFam Zheng <famz@redhat.com>
上级 9582f357
...@@ -104,7 +104,7 @@ typedef struct { ...@@ -104,7 +104,7 @@ typedef struct {
uint64_t nsze; /* Namespace size reported by identify command */ uint64_t nsze; /* Namespace size reported by identify command */
int nsid; /* The namespace id to read/write data. */ int nsid; /* The namespace id to read/write data. */
uint64_t max_transfer; uint64_t max_transfer;
int plugged; bool plugged;
CoMutex dma_map_lock; CoMutex dma_map_lock;
CoQueue dma_flush_queue; CoQueue dma_flush_queue;
...@@ -1101,7 +1101,8 @@ static void nvme_attach_aio_context(BlockDriverState *bs, ...@@ -1101,7 +1101,8 @@ static void nvme_attach_aio_context(BlockDriverState *bs,
static void nvme_aio_plug(BlockDriverState *bs) static void nvme_aio_plug(BlockDriverState *bs)
{ {
BDRVNVMeState *s = bs->opaque; BDRVNVMeState *s = bs->opaque;
s->plugged++; assert(!s->plugged);
s->plugged = true;
} }
static void nvme_aio_unplug(BlockDriverState *bs) static void nvme_aio_unplug(BlockDriverState *bs)
...@@ -1109,14 +1110,13 @@ static void nvme_aio_unplug(BlockDriverState *bs) ...@@ -1109,14 +1110,13 @@ static void nvme_aio_unplug(BlockDriverState *bs)
int i; int i;
BDRVNVMeState *s = bs->opaque; BDRVNVMeState *s = bs->opaque;
assert(s->plugged); assert(s->plugged);
if (!--s->plugged) { s->plugged = false;
for (i = 1; i < s->nr_queues; i++) { for (i = 1; i < s->nr_queues; i++) {
NVMeQueuePair *q = s->queues[i]; NVMeQueuePair *q = s->queues[i];
qemu_mutex_lock(&q->lock); qemu_mutex_lock(&q->lock);
nvme_kick(s, q); nvme_kick(s, q);
nvme_process_completion(s, q); nvme_process_completion(s, q);
qemu_mutex_unlock(&q->lock); qemu_mutex_unlock(&q->lock);
}
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册