提交 181d0663 编写于 作者: Y Yu Kuai 提交者: Jens Axboe

elevator: add new field flags in struct elevator_queue

There are only one flag to indicate that elevator is registered currently,
prepare to add a flag to disable wbt if default elevator is bfq.
Signed-off-by: NYu Kuai <yukuai3@huawei.com>
Reviewed-by: NChristoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20221019121518.3865235-6-yukuai1@huaweicloud.comSigned-off-by: NJens Axboe <axboe@kernel.dk>
上级 3642ef4d
...@@ -512,7 +512,7 @@ int elv_register_queue(struct request_queue *q, bool uevent) ...@@ -512,7 +512,7 @@ int elv_register_queue(struct request_queue *q, bool uevent)
if (uevent) if (uevent)
kobject_uevent(&e->kobj, KOBJ_ADD); kobject_uevent(&e->kobj, KOBJ_ADD);
e->registered = 1; set_bit(ELEVATOR_FLAG_REGISTERED, &e->flags);
} }
return error; return error;
} }
...@@ -523,11 +523,9 @@ void elv_unregister_queue(struct request_queue *q) ...@@ -523,11 +523,9 @@ void elv_unregister_queue(struct request_queue *q)
lockdep_assert_held(&q->sysfs_lock); lockdep_assert_held(&q->sysfs_lock);
if (e && e->registered) { if (e && test_and_clear_bit(ELEVATOR_FLAG_REGISTERED, &e->flags)) {
kobject_uevent(&e->kobj, KOBJ_REMOVE); kobject_uevent(&e->kobj, KOBJ_REMOVE);
kobject_del(&e->kobj); kobject_del(&e->kobj);
e->registered = 0;
} }
} }
......
...@@ -100,10 +100,12 @@ struct elevator_queue ...@@ -100,10 +100,12 @@ struct elevator_queue
void *elevator_data; void *elevator_data;
struct kobject kobj; struct kobject kobj;
struct mutex sysfs_lock; struct mutex sysfs_lock;
unsigned int registered:1; unsigned long flags;
DECLARE_HASHTABLE(hash, ELV_HASH_BITS); DECLARE_HASHTABLE(hash, ELV_HASH_BITS);
}; };
#define ELEVATOR_FLAG_REGISTERED 0
/* /*
* block elevator interface * block elevator interface
*/ */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册