Re: [PATCH 4/4] virtio-blk: remove deprecated ida_simple_XXX()

From: Christophe JAILLET
Date: Fri May 27 2022 - 04:05:33 EST


(Resend, my email client sent it as HTML. So sorry for the duplicate)


Hi,

> diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> index 74c3a48cd1e5..e05748337dd1 100644
> --- a/drivers/block/virtio_blk.c
> +++ b/drivers/block/virtio_blk.c
> @@ -720,8 +720,8 @@ static int virtblk_probe(struct virtio_device *vdev)
> return -EINVAL;
> }
>
>- err = ida_simple_get(&vd_index_ida, 0, minor_to_index(1 << MINORBITS),
>- GFP_KERNEL);
>+ err = ida_alloc_max(&vd_index_ida, minor_to_index(1 << MINORBITS),
>+ GFP_KERNEL);
> if (err < 0)
> goto out;
> index = err;


this patch, already applied to -next, is wrong.


The upper bound of ida_simple_get() is exlcusive, while the one of ida_alloc_max() is inclusive.

So, 'minor_to_index(1 << MINORBITS)' should be 'minor_to_index(1 << MINORBITS) - 1' here.


(adding keliu in cc: because he is proposing the same kind of patches, so he will see how to to these changes that are slighly tricky)


CJ