Commit eb25ad80 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Jens Axboe
Browse files

block: null_blk: Use the bitmap API to allocate bitmaps



Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.

It is less verbose and it improves the semantic.

Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/7c4d3116ba843fc4a8ae557dd6176352a6cd0985.1656864320.git.christophe.jaillet@wanadoo.fr


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 9e26728b
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -1655,7 +1655,7 @@ static blk_status_t null_queue_rq(struct blk_mq_hw_ctx *hctx,

static void cleanup_queue(struct nullb_queue *nq)
{
	kfree(nq->tag_map);
	bitmap_free(nq->tag_map);
	kfree(nq->cmds);
}

@@ -1782,14 +1782,13 @@ static const struct block_device_operations null_rq_ops = {
static int setup_commands(struct nullb_queue *nq)
{
	struct nullb_cmd *cmd;
	int i, tag_size;
	int i;

	nq->cmds = kcalloc(nq->queue_depth, sizeof(*cmd), GFP_KERNEL);
	if (!nq->cmds)
		return -ENOMEM;

	tag_size = ALIGN(nq->queue_depth, BITS_PER_LONG) / BITS_PER_LONG;
	nq->tag_map = kcalloc(tag_size, sizeof(unsigned long), GFP_KERNEL);
	nq->tag_map = bitmap_zalloc(nq->queue_depth, GFP_KERNEL);
	if (!nq->tag_map) {
		kfree(nq->cmds);
		return -ENOMEM;