2023-12-19 05:17:27

by Christophe JAILLET

[permalink] [raw]
Subject: [PATCH] vboxsf: Remove usage of the deprecated ida_simple_xx() API

ida_alloc() and ida_free() should be preferred to the deprecated
ida_simple_get() and ida_simple_remove().

This is less verbose.

Signed-off-by: Christophe JAILLET <[email protected]>
---
fs/vboxsf/super.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/vboxsf/super.c b/fs/vboxsf/super.c
index 1fb8f4df60cb..cd8486bc91bd 100644
--- a/fs/vboxsf/super.c
+++ b/fs/vboxsf/super.c
@@ -155,7 +155,7 @@ static int vboxsf_fill_super(struct super_block *sb, struct fs_context *fc)
}
}

- sbi->bdi_id = ida_simple_get(&vboxsf_bdi_ida, 0, 0, GFP_KERNEL);
+ sbi->bdi_id = ida_alloc(&vboxsf_bdi_ida, GFP_KERNEL);
if (sbi->bdi_id < 0) {
err = sbi->bdi_id;
goto fail_free;
@@ -221,7 +221,7 @@ static int vboxsf_fill_super(struct super_block *sb, struct fs_context *fc)
vboxsf_unmap_folder(sbi->root);
fail_free:
if (sbi->bdi_id >= 0)
- ida_simple_remove(&vboxsf_bdi_ida, sbi->bdi_id);
+ ida_free(&vboxsf_bdi_ida, sbi->bdi_id);
if (sbi->nls)
unload_nls(sbi->nls);
idr_destroy(&sbi->ino_idr);
@@ -268,7 +268,7 @@ static void vboxsf_put_super(struct super_block *sb)

vboxsf_unmap_folder(sbi->root);
if (sbi->bdi_id >= 0)
- ida_simple_remove(&vboxsf_bdi_ida, sbi->bdi_id);
+ ida_free(&vboxsf_bdi_ida, sbi->bdi_id);
if (sbi->nls)
unload_nls(sbi->nls);

--
2.34.1



2023-12-19 05:19:50

by Matthew Wilcox

[permalink] [raw]
Subject: Re: [PATCH] vboxsf: Remove usage of the deprecated ida_simple_xx() API

On Tue, Dec 19, 2023 at 06:17:04AM +0100, Christophe JAILLET wrote:
> ida_alloc() and ida_free() should be preferred to the deprecated
> ida_simple_get() and ida_simple_remove().
>
> This is less verbose.
>
> Signed-off-by: Christophe JAILLET <[email protected]>

Reviewed-by: Matthew Wilcox (Oracle) <[email protected]>

2023-12-19 09:39:36

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH] vboxsf: Remove usage of the deprecated ida_simple_xx() API

Hi,

On 12/19/23 06:17, Christophe JAILLET wrote:
> ida_alloc() and ida_free() should be preferred to the deprecated
> ida_simple_get() and ida_simple_remove().
>
> This is less verbose.
>
> Signed-off-by: Christophe JAILLET <[email protected]>

Thanks, patch looks good to me:

Reviewed-by: Hans de Goede <[email protected]>

vboxsf is not really undergoing any active development,
if there is a tree which is collecting other ida related
patches feel free to route this through that tree.

Regards,

Hans







> ---
> fs/vboxsf/super.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/fs/vboxsf/super.c b/fs/vboxsf/super.c
> index 1fb8f4df60cb..cd8486bc91bd 100644
> --- a/fs/vboxsf/super.c
> +++ b/fs/vboxsf/super.c
> @@ -155,7 +155,7 @@ static int vboxsf_fill_super(struct super_block *sb, struct fs_context *fc)
> }
> }
>
> - sbi->bdi_id = ida_simple_get(&vboxsf_bdi_ida, 0, 0, GFP_KERNEL);
> + sbi->bdi_id = ida_alloc(&vboxsf_bdi_ida, GFP_KERNEL);
> if (sbi->bdi_id < 0) {
> err = sbi->bdi_id;
> goto fail_free;
> @@ -221,7 +221,7 @@ static int vboxsf_fill_super(struct super_block *sb, struct fs_context *fc)
> vboxsf_unmap_folder(sbi->root);
> fail_free:
> if (sbi->bdi_id >= 0)
> - ida_simple_remove(&vboxsf_bdi_ida, sbi->bdi_id);
> + ida_free(&vboxsf_bdi_ida, sbi->bdi_id);
> if (sbi->nls)
> unload_nls(sbi->nls);
> idr_destroy(&sbi->ino_idr);
> @@ -268,7 +268,7 @@ static void vboxsf_put_super(struct super_block *sb)
>
> vboxsf_unmap_folder(sbi->root);
> if (sbi->bdi_id >= 0)
> - ida_simple_remove(&vboxsf_bdi_ida, sbi->bdi_id);
> + ida_free(&vboxsf_bdi_ida, sbi->bdi_id);
> if (sbi->nls)
> unload_nls(sbi->nls);
>


2024-01-04 14:22:09

by Christophe JAILLET

[permalink] [raw]
Subject: Re: [PATCH] vboxsf: Remove usage of the deprecated ida_simple_xx() API

Le 19/12/2023 à 10:39, Hans de Goede a écrit :
> Hi,
>
> On 12/19/23 06:17, Christophe JAILLET wrote:
>> ida_alloc() and ida_free() should be preferred to the deprecated
>> ida_simple_get() and ida_simple_remove().
>>
>> This is less verbose.
>>
>> Signed-off-by: Christophe JAILLET <[email protected]>
>
> Thanks, patch looks good to me:
>
> Reviewed-by: Hans de Goede <[email protected]>
>
> vboxsf is not really undergoing any active development,
> if there is a tree which is collecting other ida related
> patches feel free to route this through that tree.

There is still a bit of work to remove the remaining ida_simple_get()
calls, so we still have time.

Based on another experience when phasing out an old API, I would say at
least 2-3 months.

If this one is still around when nearly all the other calls have been
handled, i'll come back to it to see the best way to have is merged in a
tree or in another, so that the old API can be removed.

CJ

>
> Regards,
>
> Hans
>
>
>
>
>
>
>
>> ---
>> fs/vboxsf/super.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/fs/vboxsf/super.c b/fs/vboxsf/super.c
>> index 1fb8f4df60cb..cd8486bc91bd 100644
>> --- a/fs/vboxsf/super.c
>> +++ b/fs/vboxsf/super.c
>> @@ -155,7 +155,7 @@ static int vboxsf_fill_super(struct super_block *sb, struct fs_context *fc)
>> }
>> }
>>
>> - sbi->bdi_id = ida_simple_get(&vboxsf_bdi_ida, 0, 0, GFP_KERNEL);
>> + sbi->bdi_id = ida_alloc(&vboxsf_bdi_ida, GFP_KERNEL);
>> if (sbi->bdi_id < 0) {
>> err = sbi->bdi_id;
>> goto fail_free;
>> @@ -221,7 +221,7 @@ static int vboxsf_fill_super(struct super_block *sb, struct fs_context *fc)
>> vboxsf_unmap_folder(sbi->root);
>> fail_free:
>> if (sbi->bdi_id >= 0)
>> - ida_simple_remove(&vboxsf_bdi_ida, sbi->bdi_id);
>> + ida_free(&vboxsf_bdi_ida, sbi->bdi_id);
>> if (sbi->nls)
>> unload_nls(sbi->nls);
>> idr_destroy(&sbi->ino_idr);
>> @@ -268,7 +268,7 @@ static void vboxsf_put_super(struct super_block *sb)
>>
>> vboxsf_unmap_folder(sbi->root);
>> if (sbi->bdi_id >= 0)
>> - ida_simple_remove(&vboxsf_bdi_ida, sbi->bdi_id);
>> + ida_free(&vboxsf_bdi_ida, sbi->bdi_id);
>> if (sbi->nls)
>> unload_nls(sbi->nls);
>>
>
>
>