From: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
To: axboe@kernel.dk
Cc: linux-block@vger.kernel.org,
Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Subject: [PATCH] null_blk: add helper for deleting the nullb_list
Date: Tue, 30 Jun 2020 21:26:53 -0700 [thread overview]
Message-ID: <20200701042653.26207-1-chaitanya.kulkarni@wdc.com> (raw)
The nullb_list is destroyed when error occurs in the null_init() and
when removing the module in null_exit(). The identical code is repeated
in those functions which can be a part of helper function. This also
removes the extra variable struct nullb *nullb in the both functions.
---
drivers/block/null_blk_main.c | 32 +++++++++++++++-----------------
1 file changed, 15 insertions(+), 17 deletions(-)
diff --git a/drivers/block/null_blk_main.c b/drivers/block/null_blk_main.c
index 82259242b9b5..870290f686ae 100644
--- a/drivers/block/null_blk_main.c
+++ b/drivers/block/null_blk_main.c
@@ -1859,11 +1859,23 @@ static int null_add_dev(struct nullb_device *dev)
return rv;
}
+static void null_delete_nullb_list(void)
+{
+ struct nullb_device *dev;
+ struct nullb *nullb;
+
+ while (!list_empty(&nullb_list)) {
+ nullb = list_entry(nullb_list.next, struct nullb, list);
+ dev = nullb->dev;
+ null_del_dev(nullb);
+ null_free_dev(dev);
+ }
+}
+
static int __init null_init(void)
{
int ret = 0;
unsigned int i;
- struct nullb *nullb;
struct nullb_device *dev;
if (g_bs > PAGE_SIZE) {
@@ -1930,12 +1942,7 @@ static int __init null_init(void)
return 0;
err_dev:
- while (!list_empty(&nullb_list)) {
- nullb = list_entry(nullb_list.next, struct nullb, list);
- dev = nullb->dev;
- null_del_dev(nullb);
- null_free_dev(dev);
- }
+ null_delete_nullb_list();
unregister_blkdev(null_major, "nullb");
err_conf:
configfs_unregister_subsystem(&nullb_subsys);
@@ -1947,21 +1954,12 @@ static int __init null_init(void)
static void __exit null_exit(void)
{
- struct nullb *nullb;
-
configfs_unregister_subsystem(&nullb_subsys);
unregister_blkdev(null_major, "nullb");
mutex_lock(&lock);
- while (!list_empty(&nullb_list)) {
- struct nullb_device *dev;
-
- nullb = list_entry(nullb_list.next, struct nullb, list);
- dev = nullb->dev;
- null_del_dev(nullb);
- null_free_dev(dev);
- }
+ null_delete_nullb_list();
mutex_unlock(&lock);
if (g_queue_mode == NULL_Q_MQ && shared_tags)
--
2.26.0
next reply other threads:[~2020-07-01 4:26 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-01 4:26 Chaitanya Kulkarni [this message]
2020-07-01 7:26 ` [PATCH] null_blk: add helper for deleting the nullb_list Johannes Thumshirn
2020-07-01 18:45 ` Chaitanya Kulkarni
2020-07-01 19:08 ` Jens Axboe
2020-07-01 21:38 ` Chaitanya Kulkarni
2020-07-01 21:46 ` Jens Axboe
2020-07-01 23:39 ` Chaitanya Kulkarni
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=20200701042653.26207-1-chaitanya.kulkarni@wdc.com \
--to=chaitanya.kulkarni@wdc.com \
--cc=axboe@kernel.dk \
--cc=linux-block@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).