From: Eric Biggers <ebiggers@kernel.org>
To: linux-block@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, linux-api@vger.kernel.org,
linux-scsi@vger.kernel.org, linux-mmc@vger.kernel.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Bart Van Assche <bvanassche@acm.org>,
Hannes Reinecke <hare@suse.de>
Subject: [PATCH v3 1/3] block: simplify calling convention of elv_unregister_queue()
Date: Tue, 7 Dec 2021 17:35:32 -0800 [thread overview]
Message-ID: <20211208013534.136590-2-ebiggers@kernel.org> (raw)
In-Reply-To: <20211208013534.136590-1-ebiggers@kernel.org>
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.
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Eric Biggers <ebiggers@google.com>
---
block/blk-sysfs.c | 3 +--
block/elevator.c | 8 ++++----
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
index 3e6357321225f..3152d244e9b36 100644
--- a/block/blk-sysfs.c
+++ b/block/blk-sysfs.c
@@ -958,8 +958,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);
--
2.34.1
next prev parent reply other threads:[~2021-12-08 1:36 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-08 1:35 [PATCH v3 0/3] block: show crypto capabilities in sysfs Eric Biggers
2021-12-08 1:35 ` Eric Biggers [this message]
2021-12-09 19:00 ` [PATCH v3 1/3] block: simplify calling convention of elv_unregister_queue() Bart Van Assche
2021-12-08 1:35 ` [PATCH v3 2/3] block: don't delete queue kobject before its children Eric Biggers
2021-12-09 22:38 ` Bart Van Assche
2021-12-09 23:17 ` Eric Biggers
2021-12-09 23:26 ` Bart Van Assche
2021-12-08 1:35 ` [PATCH v3 3/3] blk-crypto: show crypto capabilities in sysfs Eric Biggers
2021-12-09 22:51 ` Bart Van Assche
2021-12-09 23:40 ` Eric Biggers
2021-12-10 0:02 ` Bart Van Assche
2021-12-10 0:12 ` Eric Biggers
2021-12-10 6:42 ` Greg Kroah-Hartman
2021-12-10 17:29 ` Bart Van Assche
2021-12-10 17:45 ` Eric Biggers
2021-12-11 10:50 ` Greg Kroah-Hartman
2021-12-14 5:04 ` Bart Van Assche
2021-12-14 7:23 ` Chaitanya Kulkarni
2021-12-14 7:29 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211208013534.136590-2-ebiggers@kernel.org \
--to=ebiggers@kernel.org \
--cc=bvanassche@acm.org \
--cc=gregkh@linuxfoundation.org \
--cc=hare@suse.de \
--cc=linux-api@vger.kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.