Commit d16b5ac8 authored by Guoqing Jiang's avatar Guoqing Jiang Committed by Jens Axboe
Browse files

block/rnbd: Kill destroy_device_cb



We can use destroy_device directly since destroy_device_cb is just the
wrapper of destroy_device.

Signed-off-by: default avatarGuoqing Jiang <guoqing.jiang@ionos.com>
Reviewed-by: default avatarDanil Kipnis <danil.kipnis@ionos.com>
Signed-off-by: default avatarGioh Kim <gi-oh.kim@ionos.com>
Signed-off-by: default avatarJack Wang <jinpu.wang@ionos.com>
Reviewed-by: default avatarChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Link: https://lore.kernel.org/r/20210419073722.15351-8-gi-oh.kim@ionos.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 8e43c90a
Loading
Loading
Loading
Loading
+4 −11
Original line number Diff line number Diff line
@@ -178,8 +178,10 @@ static int process_rdma(struct rtrs_srv *sess,
	return err;
}

static void destroy_device(struct rnbd_srv_dev *dev)
static void destroy_device(struct kref *kref)
{
	struct rnbd_srv_dev *dev = container_of(kref, struct rnbd_srv_dev, kref);

	WARN_ONCE(!list_empty(&dev->sess_dev_list),
		  "Device %s is being destroyed but still in use!\n",
		  dev->id);
@@ -198,18 +200,9 @@ static void destroy_device(struct rnbd_srv_dev *dev)
		kfree(dev);
}

static void destroy_device_cb(struct kref *kref)
{
	struct rnbd_srv_dev *dev;

	dev = container_of(kref, struct rnbd_srv_dev, kref);

	destroy_device(dev);
}

static void rnbd_put_srv_dev(struct rnbd_srv_dev *dev)
{
	kref_put(&dev->kref, destroy_device_cb);
	kref_put(&dev->kref, destroy_device);
}

void rnbd_destroy_sess_dev(struct rnbd_srv_sess_dev *sess_dev, bool keep_id)