Skip to content

Commit

Permalink
block: remove unused ->busy part of the block queue tag map
Browse files Browse the repository at this point in the history
It's not used for anything. On top of that, it's racy and can thus
trigger a faulty BUG_ON() in __blk_free_tags() on queue exit.

Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
Matthew Wilcox authored and Jens Axboe committed Aug 27, 2008
1 parent aefcc28 commit 0e3eb45
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions block/blk-tag.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ static int __blk_free_tags(struct blk_queue_tag *bqt)

retval = atomic_dec_and_test(&bqt->refcnt);
if (retval) {
BUG_ON(bqt->busy);
BUG_ON(find_first_bit(bqt->tag_map, bqt->max_depth) <
bqt->max_depth);

kfree(bqt->tag_index);
bqt->tag_index = NULL;
Expand Down Expand Up @@ -147,7 +148,6 @@ static struct blk_queue_tag *__blk_queue_init_tags(struct request_queue *q,
if (init_tag_map(q, tags, depth))
goto fail;

tags->busy = 0;
atomic_set(&tags->refcnt, 1);
return tags;
fail:
Expand Down Expand Up @@ -313,7 +313,6 @@ void blk_queue_end_tag(struct request_queue *q, struct request *rq)
* unlock memory barrier semantics.
*/
clear_bit_unlock(tag, bqt->tag_map);
bqt->busy--;
}
EXPORT_SYMBOL(blk_queue_end_tag);

Expand Down Expand Up @@ -368,7 +367,6 @@ int blk_queue_start_tag(struct request_queue *q, struct request *rq)
bqt->tag_index[tag] = rq;
blkdev_dequeue_request(rq);
list_add(&rq->queuelist, &q->tag_busy_list);
bqt->busy++;
return 0;
}
EXPORT_SYMBOL(blk_queue_start_tag);
Expand Down

0 comments on commit 0e3eb45

Please sign in to comment.