Message ID | 20211130040306.148925-2-ebiggers@kernel.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | block: show crypto capabilities in sysfs | expand |
On 11/30/21 5:03 AM, Eric Biggers wrote: > From: Eric Biggers <ebiggers@google.com> > > Make elv_unregister_queue() a no-op if q->elevator is NULL or is not > registered. > > This simplifies the existing callers, as well as the future caller in > the error path of blk_register_queue(). > > Also don't bother checking whether q is NULL, since it never is. > > Signed-off-by: Eric Biggers <ebiggers@google.com> > --- > block/blk-sysfs.c | 3 +-- > block/elevator.c | 8 ++++---- > 2 files changed, 5 insertions(+), 6 deletions(-) > Reviewed-by: Hannes Reinecke <hare@suse.de> Cheers, Hannes
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c index 4622da4bb9927..91d3805a6ec6b 100644 --- a/block/blk-sysfs.c +++ b/block/blk-sysfs.c @@ -957,8 +957,7 @@ void blk_unregister_queue(struct gendisk *disk) blk_trace_remove_sysfs(disk_to_dev(disk)); mutex_lock(&q->sysfs_lock); - if (q->elevator) - elv_unregister_queue(q); + elv_unregister_queue(q); disk_unregister_independent_access_ranges(disk); mutex_unlock(&q->sysfs_lock); mutex_unlock(&q->sysfs_dir_lock); diff --git a/block/elevator.c b/block/elevator.c index ec98aed39c4f5..b062c5bc10b9a 100644 --- a/block/elevator.c +++ b/block/elevator.c @@ -516,9 +516,11 @@ int elv_register_queue(struct request_queue *q, bool uevent) void elv_unregister_queue(struct request_queue *q) { + struct elevator_queue *e = q->elevator; + lockdep_assert_held(&q->sysfs_lock); - if (q) { + if (e && e->registered) { struct elevator_queue *e = q->elevator; kobject_uevent(&e->kobj, KOBJ_REMOVE); @@ -593,9 +595,7 @@ int elevator_switch_mq(struct request_queue *q, lockdep_assert_held(&q->sysfs_lock); if (q->elevator) { - if (q->elevator->registered) - elv_unregister_queue(q); - + elv_unregister_queue(q); ioc_clear_queue(q); blk_mq_sched_free_rqs(q); elevator_exit(q);