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: Christoph Hellwig <hch@lst.de> Reviewed-by: Ming Lei <ming.lei@redhat.com> Reviewed-by: ZiyangZhang <ZiyangZhang@linux.alibaba.com> Link: https://lore.kernel.org/r/20220721130916.1869719-7-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
34d8f2bea5
commit
cfee7e4de2
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user