int ret;
unsigned int memflags;
struct request_queue *q = disk->queue;
+ struct blk_mq_tag_set *set = q->tag_set;
/*
* If the attribute needs to load a module, do it before freezing the
elv_iosched_load_module(name);
+ down_read(&set->update_nr_hwq_lock);
memflags = blk_mq_freeze_queue(q);
mutex_lock(&q->elevator_lock);
ret = elevator_change(q, name);
ret = count;
mutex_unlock(&q->elevator_lock);
blk_mq_unfreeze_queue(q, memflags);
+ up_read(&set->update_nr_hwq_lock);
return ret;
}