Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

rnbd-srv: remove rnbd_dev_{open,close}

These can be trivially open coded in the callers.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Acked-by: Jack Wang <jinpu.wang@ionos.com>
Link: https://lore.kernel.org/r/20220909131509.3263924-4-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>

authored by

Christoph Hellwig and committed by
Jens Axboe
6856b194 2ecaa581

+18 -62
-1
drivers/block/rnbd/Makefile
··· 10 10 11 11 rnbd-server-y := rnbd-common.o \ 12 12 rnbd-srv.o \ 13 - rnbd-srv-dev.o \ 14 13 rnbd-srv-sysfs.o \ 15 14 rnbd-srv-trace.o 16 15
-42
drivers/block/rnbd/rnbd-srv-dev.c
··· 1 - // SPDX-License-Identifier: GPL-2.0-or-later 2 - /* 3 - * RDMA Network Block Driver 4 - * 5 - * Copyright (c) 2014 - 2018 ProfitBricks GmbH. All rights reserved. 6 - * Copyright (c) 2018 - 2019 1&1 IONOS Cloud GmbH. All rights reserved. 7 - * Copyright (c) 2019 - 2020 1&1 IONOS SE. All rights reserved. 8 - */ 9 - #undef pr_fmt 10 - #define pr_fmt(fmt) KBUILD_MODNAME " L" __stringify(__LINE__) ": " fmt 11 - 12 - #include "rnbd-srv-dev.h" 13 - #include "rnbd-log.h" 14 - 15 - struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags) 16 - { 17 - struct rnbd_dev *dev; 18 - int ret; 19 - 20 - dev = kzalloc(sizeof(*dev), GFP_KERNEL); 21 - if (!dev) 22 - return ERR_PTR(-ENOMEM); 23 - 24 - dev->bdev = blkdev_get_by_path(path, flags, THIS_MODULE); 25 - ret = PTR_ERR_OR_ZERO(dev->bdev); 26 - if (ret) 27 - goto err; 28 - 29 - dev->blk_open_flags = flags; 30 - 31 - return dev; 32 - 33 - err: 34 - kfree(dev); 35 - return ERR_PTR(ret); 36 - } 37 - 38 - void rnbd_dev_close(struct rnbd_dev *dev) 39 - { 40 - blkdev_put(dev->bdev, dev->blk_open_flags); 41 - kfree(dev); 42 - }
-12
drivers/block/rnbd/rnbd-srv-dev.h
··· 17 17 fmode_t blk_open_flags; 18 18 }; 19 19 20 - /** 21 - * rnbd_dev_open() - Open a device 22 - * @path: path to open 23 - * @flags: open flags 24 - */ 25 - struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags); 26 - 27 - /** 28 - * rnbd_dev_close() - Close a device 29 - */ 30 - void rnbd_dev_close(struct rnbd_dev *dev); 31 - 32 20 #endif /* RNBD_SRV_DEV_H */
+18 -7
drivers/block/rnbd/rnbd-srv.c
··· 220 220 rnbd_put_sess_dev(sess_dev); 221 221 wait_for_completion(&dc); /* wait for inflights to drop to zero */ 222 222 223 - rnbd_dev_close(sess_dev->rnbd_dev); 223 + blkdev_put(sess_dev->rnbd_dev->bdev, 224 + sess_dev->rnbd_dev->blk_open_flags); 225 + kfree(sess_dev->rnbd_dev); 224 226 mutex_lock(&sess_dev->dev->lock); 225 227 list_del(&sess_dev->dev_list); 226 228 if (sess_dev->open_flags & FMODE_WRITE) ··· 723 721 goto reject; 724 722 } 725 723 726 - rnbd_dev = rnbd_dev_open(full_path, open_flags); 727 - if (IS_ERR(rnbd_dev)) { 728 - pr_err("Opening device '%s' on session %s failed, failed to open the block device, err: %ld\n", 729 - full_path, srv_sess->sessname, PTR_ERR(rnbd_dev)); 730 - ret = PTR_ERR(rnbd_dev); 724 + rnbd_dev = kzalloc(sizeof(*rnbd_dev), GFP_KERNEL); 725 + if (!rnbd_dev) { 726 + ret = -ENOMEM; 727 + goto free_path; 728 + } 729 + 730 + rnbd_dev->blk_open_flags = open_flags; 731 + rnbd_dev->bdev = blkdev_get_by_path(full_path, open_flags, THIS_MODULE); 732 + if (IS_ERR(rnbd_dev->bdev)) { 733 + ret = PTR_ERR(rnbd_dev->bdev); 734 + pr_err("Opening device '%s' on session %s failed, failed to open the block device, err: %d\n", 735 + full_path, srv_sess->sessname, ret); 736 + kfree(rnbd_dev); 731 737 goto free_path; 732 738 } 733 739 ··· 807 797 } 808 798 rnbd_put_srv_dev(srv_dev); 809 799 rnbd_dev_close: 810 - rnbd_dev_close(rnbd_dev); 800 + blkdev_put(rnbd_dev->bdev, rnbd_dev->blk_open_flags); 801 + kfree(rnbd_dev); 811 802 free_path: 812 803 kfree(full_path); 813 804 reject: