sbitmap: make sb_for_each_fn() return void mq-inflight.2
authorJens Axboe <axboe@kernel.dk>
Thu, 3 Aug 2017 21:22:45 +0000 (15:22 -0600)
committerJens Axboe <axboe@kernel.dk>
Fri, 4 Aug 2017 14:49:01 +0000 (08:49 -0600)
The intent was for users to be able to continue/break iteration
based on the return value of this callback function, but all
callers now always return true. Hence it's pointless to return
anything at all. Change it to void, and update the users of it.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq-tag.c
block/blk-mq.c
include/linux/sbitmap.h

index b856b28271576720d68b6c9332a3fdc88d6a2128..5ee218f11f8142f21458feca5990bd5b8c0d654e 100644 (file)
@@ -202,7 +202,7 @@ struct bt_iter_data {
        bool reserved;
 };
 
-static bool bt_iter(struct sbitmap *bitmap, unsigned int bitnr, void *data)
+static void bt_iter(struct sbitmap *bitmap, unsigned int bitnr, void *data)
 {
        struct bt_iter_data *iter_data = data;
        struct blk_mq_hw_ctx *hctx = iter_data->hctx;
@@ -216,7 +216,6 @@ static bool bt_iter(struct sbitmap *bitmap, unsigned int bitnr, void *data)
 
        if (rq && rq->q == hctx->queue)
                iter_data->fn(hctx, rq, iter_data->data, reserved);
-       return true;
 }
 
 static void bt_for_each(struct blk_mq_hw_ctx *hctx, struct sbitmap_queue *bt,
@@ -239,7 +238,7 @@ struct bt_tags_iter_data {
        bool reserved;
 };
 
-static bool bt_tags_iter(struct sbitmap *bitmap, unsigned int bitnr, void *data)
+static void bt_tags_iter(struct sbitmap *bitmap, unsigned int bitnr, void *data)
 {
        struct bt_tags_iter_data *iter_data = data;
        struct blk_mq_tags *tags = iter_data->tags;
@@ -251,7 +250,6 @@ static bool bt_tags_iter(struct sbitmap *bitmap, unsigned int bitnr, void *data)
        rq = tags->rqs[bitnr];
        if (rq)
                iter_data->fn(rq, iter_data->data, reserved);
-       return true;
 }
 
 static void bt_tags_for_each(struct blk_mq_tags *tags, struct sbitmap_queue *bt,
index 410ed246bc9b2d6e6d00da810e4fabfa50543bd9..c8d568aafcec203f835570b7e76bf60687f5eb33 100644 (file)
@@ -846,7 +846,7 @@ struct flush_busy_ctx_data {
        struct list_head *list;
 };
 
-static bool flush_busy_ctx(struct sbitmap *sb, unsigned int bitnr, void *data)
+static void flush_busy_ctx(struct sbitmap *sb, unsigned int bitnr, void *data)
 {
        struct flush_busy_ctx_data *flush_data = data;
        struct blk_mq_hw_ctx *hctx = flush_data->hctx;
@@ -856,7 +856,6 @@ static bool flush_busy_ctx(struct sbitmap *sb, unsigned int bitnr, void *data)
        spin_lock(&ctx->lock);
        list_splice_tail_init(&ctx->rq_list, flush_data->list);
        spin_unlock(&ctx->lock);
-       return true;
 }
 
 /*
index a1904aadbc45004ba18c8db06f184a164908cd46..33c3d89579270ffd47f773750aa996f12792d0be 100644 (file)
@@ -211,7 +211,7 @@ bool sbitmap_any_bit_set(const struct sbitmap *sb);
  */
 bool sbitmap_any_bit_clear(const struct sbitmap *sb);
 
-typedef bool (*sb_for_each_fn)(struct sbitmap *, unsigned int, void *);
+typedef void (*sb_for_each_fn)(struct sbitmap *, unsigned int, void *);
 
 /**
  * sbitmap_for_each_set() - Iterate over each set bit in a &struct sbitmap.
@@ -241,9 +241,7 @@ static inline void sbitmap_for_each_set(struct sbitmap *sb, sb_for_each_fn fn,
                        if (nr >= word->depth)
                                break;
 
-                       if (!fn(sb, off + nr, data))
-                               return;
-
+                       fn(sb, off + nr, data);
                        nr++;
                }
        }