OSDN Git Service

nvme-rdma: change queue flag semantics DELETING -> ALLOCATED
authorSagi Grimberg <sagi@grimberg.me>
Wed, 11 Oct 2017 12:29:12 +0000 (15:29 +0300)
committerChristoph Hellwig <hch@lst.de>
Wed, 18 Oct 2017 17:28:55 +0000 (19:28 +0200)
Instead of marking we are deleting, mark we are allocated and check that
instead. This makes the logic symmetrical to connected mark check.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/rdma.c

index a58dd0c..ff67375 100644 (file)
@@ -79,8 +79,8 @@ struct nvme_rdma_request {
 };
 
 enum nvme_rdma_queue_flags {
-       NVME_RDMA_Q_LIVE                = 0,
-       NVME_RDMA_Q_DELETING            = 1,
+       NVME_RDMA_Q_ALLOCATED           = 0,
+       NVME_RDMA_Q_LIVE                = 1,
 };
 
 struct nvme_rdma_queue {
@@ -549,7 +549,7 @@ static int nvme_rdma_alloc_queue(struct nvme_rdma_ctrl *ctrl,
                goto out_destroy_cm_id;
        }
 
-       clear_bit(NVME_RDMA_Q_DELETING, &queue->flags);
+       set_bit(NVME_RDMA_Q_ALLOCATED, &queue->flags);
 
        return 0;
 
@@ -569,7 +569,7 @@ static void nvme_rdma_stop_queue(struct nvme_rdma_queue *queue)
 
 static void nvme_rdma_free_queue(struct nvme_rdma_queue *queue)
 {
-       if (test_and_set_bit(NVME_RDMA_Q_DELETING, &queue->flags))
+       if (!test_and_clear_bit(NVME_RDMA_Q_ALLOCATED, &queue->flags))
                return;
 
        nvme_rdma_destroy_queue_ib(queue);