Commit 6856b194 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

rnbd-srv: remove rnbd_dev_{open,close}



These can be trivially open coded in the callers.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarChaitanya Kulkarni <kch@nvidia.com>
Acked-by: default avatarJack Wang <jinpu.wang@ionos.com>
Link: https://lore.kernel.org/r/20220909131509.3263924-4-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 2ecaa581
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -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

drivers/block/rnbd/rnbd-srv-dev.c

deleted100644 → 0
+0 −42
Original line number Diff line number Diff line
// 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->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);
}
+0 −12
Original line number Diff line number Diff line
@@ -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 */
+18 −7
Original line number Diff line number Diff line
@@ -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)
@@ -721,11 +723,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;
	}

@@ -797,7 +807,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: