1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * RDMA Network Block Driver
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.
10 #define pr_fmt(fmt) KBUILD_MODNAME " L" __stringify(__LINE__) ": " fmt
12 #include "rnbd-srv-dev.h"
15 struct rnbd_dev *rnbd_dev_open(const char *path, fmode_t flags)
20 dev = kzalloc(sizeof(*dev), GFP_KERNEL);
22 return ERR_PTR(-ENOMEM);
24 dev->blk_open_flags = flags;
25 dev->bdev = blkdev_get_by_path(path, flags, THIS_MODULE);
26 ret = PTR_ERR_OR_ZERO(dev->bdev);
30 dev->blk_open_flags = flags;
31 bdevname(dev->bdev, dev->name);
40 void rnbd_dev_close(struct rnbd_dev *dev)
42 blkdev_put(dev->bdev, dev->blk_open_flags);