summaryrefslogtreecommitdiff
path: root/drivers/nvme
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2018-11-06 23:30:55 +0300
committerJens Axboe <axboe@kernel.dk>2018-11-19 18:34:50 +0300
commit85f4d4b65fdd67f1d6dc9eeb1d91923cef07eb6a (patch)
tree8a87578fc6753431f9d698703ad0217392916f3e /drivers/nvme
parent849a370016a5489c49253338507ee6cc4a08df4b (diff)
downloadlinux-85f4d4b65fdd67f1d6dc9eeb1d91923cef07eb6a.tar.xz
block: have ->poll_fn() return number of entries polled
We currently only really support sync poll, ie poll with 1 IO in flight. This prepares us for supporting async poll. Note that the returned value isn't necessarily 100% accurate. If poll races with IRQ completion, we assume that the fact that the task is now runnable means we found at least one entry. In reality it could be more than 1, or not even 1. This is fine, the caller will just need to take this into account. Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/nvme')
-rw-r--r--drivers/nvme/host/multipath.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
index 8b841f39734c..f9eeb3b58632 100644
--- a/drivers/nvme/host/multipath.c
+++ b/drivers/nvme/host/multipath.c
@@ -220,11 +220,11 @@ static blk_qc_t nvme_ns_head_make_request(struct request_queue *q,
return ret;
}
-static bool nvme_ns_head_poll(struct request_queue *q, blk_qc_t qc)
+static int nvme_ns_head_poll(struct request_queue *q, blk_qc_t qc)
{
struct nvme_ns_head *head = q->queuedata;
struct nvme_ns *ns;
- bool found = false;
+ int found = 0;
int srcu_idx;
srcu_idx = srcu_read_lock(&head->srcu);