提交 cfee7e4d 编写于 作者: C Christoph Hellwig 提交者: Jens Axboe

ublk: fold __ublk_create_dev into ublk_ctrl_add_dev

Fold __ublk_create_dev into its only caller to avoid the packing and
unpacking of the return value into an ERR_PTR.
Signed-off-by: NChristoph Hellwig <hch@lst.de>
Reviewed-by: NMing Lei <ming.lei@redhat.com>
Reviewed-by: NZiyangZhang <ZiyangZhang@linux.alibaba.com>
Link: https://lore.kernel.org/r/20220721130916.1869719-7-hch@lst.deSigned-off-by: NJens Axboe <axboe@kernel.dk>
上级 34d8f2be
......@@ -1017,23 +1017,6 @@ static int __ublk_alloc_dev_number(struct ublk_device *ub, int idx)
return err;
}
static struct ublk_device *__ublk_create_dev(int idx)
{
struct ublk_device *ub = NULL;
int ret;
ub = kzalloc(sizeof(*ub), GFP_KERNEL);
if (!ub)
return ERR_PTR(-ENOMEM);
ret = __ublk_alloc_dev_number(ub, idx);
if (ret < 0) {
kfree(ub);
return ERR_PTR(ret);
}
return ub;
}
static void __ublk_destroy_dev(struct ublk_device *ub)
{
spin_lock(&ublk_idr_lock);
......@@ -1357,9 +1340,14 @@ static int ublk_ctrl_add_dev(struct io_uring_cmd *cmd)
if (ret)
return ret;
ub = __ublk_create_dev(header->dev_id);
if (IS_ERR(ub)) {
ret = PTR_ERR(ub);
ret = -ENOMEM;
ub = kzalloc(sizeof(*ub), GFP_KERNEL);
if (!ub)
goto out_unlock;
ret = __ublk_alloc_dev_number(ub, header->dev_id);
if (ret < 0) {
kfree(ub);
goto out_unlock;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册