public inbox for linux-block@vger.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: "Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	Jack Wang <jinpu.wang@ionos.com>, Jens Axboe <axboe@kernel.dk>
Cc: linux-block@vger.kernel.org
Subject: [PATCH 3/4] rnbd-srv: remove rnbd_dev_{open,close}
Date: Mon, 22 Aug 2022 08:17:44 +0200	[thread overview]
Message-ID: <20220822061745.152010-4-hch@lst.de> (raw)
In-Reply-To: <20220822061745.152010-1-hch@lst.de>

These can be trivially open coded in the callers.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/rnbd/Makefile       |  1 -
 drivers/block/rnbd/rnbd-srv-dev.c | 43 -------------------------------
 drivers/block/rnbd/rnbd-srv-dev.h | 12 ---------
 drivers/block/rnbd/rnbd-srv.c     | 25 +++++++++++++-----
 4 files changed, 18 insertions(+), 63 deletions(-)
 delete mode 100644 drivers/block/rnbd/rnbd-srv-dev.c

diff --git a/drivers/block/rnbd/Makefile b/drivers/block/rnbd/Makefile
index 5fc05e6679503..40b31630822ce 100644
--- a/drivers/block/rnbd/Makefile
+++ b/drivers/block/rnbd/Makefile
@@ -10,7 +10,6 @@ CFLAGS_rnbd-srv-trace.o = -I$(src)
 
 rnbd-server-y := rnbd-common.o \
 		  rnbd-srv.o \
-		  rnbd-srv-dev.o \
 		  rnbd-srv-sysfs.o \
 		  rnbd-srv-trace.o
 
diff --git a/drivers/block/rnbd/rnbd-srv-dev.c b/drivers/block/rnbd/rnbd-srv-dev.c
deleted file mode 100644
index c63017f6e4214..0000000000000
--- a/drivers/block/rnbd/rnbd-srv-dev.c
+++ /dev/null
@@ -1,43 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
- * RDMA Network Block Driver
- *
- * Copyright (c) 2014 - 2018 ProfitBricks GmbH. All rights reserved.
- * Copyright (c) 2018 - 2019 1&1 IONOS Cloud GmbH. All rights reserved.
- * Copyright (c) 2019 - 2020 1&1 IONOS SE. All rights reserved.
- */
-#undef pr_fmt
-#define pr_fmt(fmt) KBUILD_MODNAME " L" __stringify(__LINE__) ": " fmt
-
-#include "rnbd-srv-dev.h"
-#include "rnbd-log.h"
-
-struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags)
-{
-	struct rnbd_dev *dev;
-	int ret;
-
-	dev = kzalloc(sizeof(*dev), GFP_KERNEL);
-	if (!dev)
-		return ERR_PTR(-ENOMEM);
-
-	dev->blk_open_flags = flags;
-	dev->bdev = blkdev_get_by_path(path, flags, THIS_MODULE);
-	ret = PTR_ERR_OR_ZERO(dev->bdev);
-	if (ret)
-		goto err;
-
-	dev->blk_open_flags = flags;
-
-	return dev;
-
-err:
-	kfree(dev);
-	return ERR_PTR(ret);
-}
-
-void rnbd_dev_close(struct rnbd_dev *dev)
-{
-	blkdev_put(dev->bdev, dev->blk_open_flags);
-	kfree(dev);
-}
diff --git a/drivers/block/rnbd/rnbd-srv-dev.h b/drivers/block/rnbd/rnbd-srv-dev.h
index 328dc915832cd..abaf77d68e5b9 100644
--- a/drivers/block/rnbd/rnbd-srv-dev.h
+++ b/drivers/block/rnbd/rnbd-srv-dev.h
@@ -17,16 +17,4 @@ struct rnbd_dev {
 	fmode_t			blk_open_flags;
 };
 
-/**
- * rnbd_dev_open() - Open a device
- * @path:	path to open
- * @flags:	open flags
- */
-struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags);
-
-/**
- * rnbd_dev_close() - Close a device
- */
-void rnbd_dev_close(struct rnbd_dev *dev);
-
 #endif /* RNBD_SRV_DEV_H */
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index 8303de61e8094..be238b625c2c0 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -220,7 +220,9 @@ void rnbd_destroy_sess_dev(struct rnbd_srv_sess_dev *sess_dev, bool keep_id)
 	rnbd_put_sess_dev(sess_dev);
 	wait_for_completion(&dc); /* wait for inflights to drop to zero */
 
-	rnbd_dev_close(sess_dev->rnbd_dev);
+	blkdev_put(sess_dev->rnbd_dev->bdev,
+		   sess_dev->rnbd_dev->blk_open_flags);
+	kfree(sess_dev->rnbd_dev);
 	mutex_lock(&sess_dev->dev->lock);
 	list_del(&sess_dev->dev_list);
 	if (sess_dev->open_flags & FMODE_WRITE)
@@ -717,11 +719,19 @@ static int process_msg_open(struct rnbd_srv_session *srv_sess,
 		goto reject;
 	}
 
-	rnbd_dev = rnbd_dev_open(full_path, open_flags);
-	if (IS_ERR(rnbd_dev)) {
-		pr_err("Opening device '%s' on session %s failed, failed to open the block device, err: %ld\n",
-		       full_path, srv_sess->sessname, PTR_ERR(rnbd_dev));
-		ret = PTR_ERR(rnbd_dev);
+	rnbd_dev = kzalloc(sizeof(*rnbd_dev), GFP_KERNEL);
+	if (!rnbd_dev) {
+		ret = -ENOMEM;
+		goto free_path;
+	}
+
+	rnbd_dev->blk_open_flags = open_flags;
+	rnbd_dev->bdev = blkdev_get_by_path(full_path, open_flags, THIS_MODULE);
+	if (IS_ERR(rnbd_dev->bdev)) {
+		ret = PTR_ERR(rnbd_dev->bdev);
+		pr_err("Opening device '%s' on session %s failed, failed to open the block device, err: %d\n",
+		       full_path, srv_sess->sessname, ret);
+		kfree(rnbd_dev);
 		goto free_path;
 	}
 
@@ -793,7 +803,8 @@ static int process_msg_open(struct rnbd_srv_session *srv_sess,
 	}
 	rnbd_put_srv_dev(srv_dev);
 rnbd_dev_close:
-	rnbd_dev_close(rnbd_dev);
+	blkdev_put(rnbd_dev->bdev, rnbd_dev->blk_open_flags);
+	kfree(rnbd_dev);
 free_path:
 	kfree(full_path);
 reject:
-- 
2.30.2


  parent reply	other threads:[~2022-08-22  6:17 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-22  6:17 rnbd cleanups Christoph Hellwig
2022-08-22  6:17 ` [PATCH 1/4] rnbd-srv: simplify rnbd_srv_fill_msg_open_rsp Christoph Hellwig
2022-08-23  1:08   ` Chaitanya Kulkarni
2022-08-22  6:17 ` [PATCH 2/4] rnbd-srv: remove rnbd_endio Christoph Hellwig
2022-08-23  1:09   ` Chaitanya Kulkarni
2022-08-22  6:17 ` Christoph Hellwig [this message]
2022-08-23  1:09   ` [PATCH 3/4] rnbd-srv: remove rnbd_dev_{open,close} Chaitanya Kulkarni
2022-08-22  6:17 ` [PATCH 4/4] rnbd-srv: remove struct rnbd_dev Christoph Hellwig
2022-08-23  1:10   ` Chaitanya Kulkarni
2022-08-22  7:20 ` rnbd cleanups Jinpu Wang
  -- strict thread matches above, loose matches on Subject: below --
2022-09-09 13:15 rnbd cleanups v2 Christoph Hellwig
2022-09-09 13:15 ` [PATCH 3/4] rnbd-srv: remove rnbd_dev_{open,close} Christoph Hellwig

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=20220822061745.152010-4-hch@lst.de \
    --to=hch@lst.de \
    --cc=axboe@kernel.dk \
    --cc=haris.iqbal@ionos.com \
    --cc=jinpu.wang@ionos.com \
    --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