Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 34f6055c authored by Tejun Heo's avatar Tejun Heo Committed by Jens Axboe
Browse files

block: add blk_queue_dead()



There are a number of QUEUE_FLAG_DEAD tests.  Add blk_queue_dead()
macro and use it.

This patch doesn't introduce any functional difference.

Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 1ba64ede
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -608,7 +608,7 @@ EXPORT_SYMBOL(blk_init_allocated_queue_node);

int blk_get_queue(struct request_queue *q)
{
	if (likely(!test_bit(QUEUE_FLAG_DEAD, &q->queue_flags))) {
	if (likely(!blk_queue_dead(q))) {
		kobject_get(&q->kobj);
		return 0;
	}
@@ -755,7 +755,7 @@ static struct request *get_request(struct request_queue *q, int rw_flags,
	const bool is_sync = rw_is_sync(rw_flags) != 0;
	int may_queue;

	if (unlikely(test_bit(QUEUE_FLAG_DEAD, &q->queue_flags)))
	if (unlikely(blk_queue_dead(q)))
		return NULL;

	may_queue = elv_may_queue(q, rw_flags);
@@ -875,7 +875,7 @@ static struct request *get_request_wait(struct request_queue *q, int rw_flags,
		struct io_context *ioc;
		struct request_list *rl = &q->rq;

		if (unlikely(test_bit(QUEUE_FLAG_DEAD, &q->queue_flags)))
		if (unlikely(blk_queue_dead(q)))
			return NULL;

		prepare_to_wait_exclusive(&rl->wait[is_sync], &wait,
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ void blk_execute_rq_nowait(struct request_queue *q, struct gendisk *bd_disk,
{
	int where = at_head ? ELEVATOR_INSERT_FRONT : ELEVATOR_INSERT_BACK;

	if (unlikely(test_bit(QUEUE_FLAG_DEAD, &q->queue_flags))) {
	if (unlikely(blk_queue_dead(q))) {
		rq->errors = -ENXIO;
		if (rq->end_io)
			rq->end_io(rq, rq->errors);
+2 −2
Original line number Diff line number Diff line
@@ -425,7 +425,7 @@ queue_attr_show(struct kobject *kobj, struct attribute *attr, char *page)
	if (!entry->show)
		return -EIO;
	mutex_lock(&q->sysfs_lock);
	if (test_bit(QUEUE_FLAG_DEAD, &q->queue_flags)) {
	if (blk_queue_dead(q)) {
		mutex_unlock(&q->sysfs_lock);
		return -ENOENT;
	}
@@ -447,7 +447,7 @@ queue_attr_store(struct kobject *kobj, struct attribute *attr,

	q = container_of(kobj, struct request_queue, kobj);
	mutex_lock(&q->sysfs_lock);
	if (test_bit(QUEUE_FLAG_DEAD, &q->queue_flags)) {
	if (blk_queue_dead(q)) {
		mutex_unlock(&q->sysfs_lock);
		return -ENOENT;
	}
+2 −2
Original line number Diff line number Diff line
@@ -310,7 +310,7 @@ static struct throtl_grp * throtl_get_tg(struct throtl_data *td)
	struct request_queue *q = td->queue;

	/* no throttling for dead queue */
	if (unlikely(test_bit(QUEUE_FLAG_DEAD, &q->queue_flags)))
	if (unlikely(blk_queue_dead(q)))
		return NULL;

	rcu_read_lock();
@@ -335,7 +335,7 @@ static struct throtl_grp * throtl_get_tg(struct throtl_data *td)
	spin_lock_irq(q->queue_lock);

	/* Make sure @q is still alive */
	if (unlikely(test_bit(QUEUE_FLAG_DEAD, &q->queue_flags))) {
	if (unlikely(blk_queue_dead(q))) {
		kfree(tg);
		return NULL;
	}
+1 −1
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ static inline struct request *__elv_next_request(struct request_queue *q)
			q->flush_queue_delayed = 1;
			return NULL;
		}
		if (test_bit(QUEUE_FLAG_DEAD, &q->queue_flags) ||
		if (unlikely(blk_queue_dead(q)) ||
		    !q->elevator->ops->elevator_dispatch_fn(q, 0))
			return NULL;
	}
Loading