[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7ed910b3-aac6-8c15-ba65-c81ed267de7a@redhat.com>
Date: Mon, 11 Aug 2025 13:23:39 +0200 (CEST)
From: Mikulas Patocka <mpatocka@...hat.com>
To: Qianfeng Rong <rongqianfeng@...o.com>
cc: Alasdair Kergon <agk@...hat.com>, Mike Snitzer <snitzer@...nel.org>,
dm-devel@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] dm: Use vmalloc_array to simplify code
Applied.thanks.
Mikulas
On Tue, 5 Aug 2025, Qianfeng Rong wrote:
> Remove array_size() calls and replace vmalloc() with
> vmalloc_array() to simplify the code.
>
> Signed-off-by: Qianfeng Rong <rongqianfeng@...o.com>
> ---
> drivers/md/dm-cache-policy-smq.c | 2 +-
> drivers/md/dm-region-hash.c | 2 +-
> drivers/md/dm-switch.c | 4 ++--
> drivers/md/dm-thin.c | 4 ++--
> 4 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/md/dm-cache-policy-smq.c b/drivers/md/dm-cache-policy-smq.c
> index 2ed894155cab..7e1e8cc0e33a 100644
> --- a/drivers/md/dm-cache-policy-smq.c
> +++ b/drivers/md/dm-cache-policy-smq.c
> @@ -590,7 +590,7 @@ static int h_init(struct smq_hash_table *ht, struct entry_space *es, unsigned in
> nr_buckets = roundup_pow_of_two(max(nr_entries / 4u, 16u));
> ht->hash_bits = __ffs(nr_buckets);
>
> - ht->buckets = vmalloc(array_size(nr_buckets, sizeof(*ht->buckets)));
> + ht->buckets = vmalloc_array(nr_buckets, sizeof(*ht->buckets));
> if (!ht->buckets)
> return -ENOMEM;
>
> diff --git a/drivers/md/dm-region-hash.c b/drivers/md/dm-region-hash.c
> index a4550975c27d..e9b47b659976 100644
> --- a/drivers/md/dm-region-hash.c
> +++ b/drivers/md/dm-region-hash.c
> @@ -206,7 +206,7 @@ struct dm_region_hash *dm_region_hash_create(
> rh->shift = RH_HASH_SHIFT;
> rh->prime = RH_HASH_MULT;
>
> - rh->buckets = vmalloc(array_size(nr_buckets, sizeof(*rh->buckets)));
> + rh->buckets = vmalloc_array(nr_buckets, sizeof(*rh->buckets));
> if (!rh->buckets) {
> DMERR("unable to allocate region hash bucket memory");
> kfree(rh);
> diff --git a/drivers/md/dm-switch.c b/drivers/md/dm-switch.c
> index bb1a70b5a215..50a52ca50b34 100644
> --- a/drivers/md/dm-switch.c
> +++ b/drivers/md/dm-switch.c
> @@ -114,8 +114,8 @@ static int alloc_region_table(struct dm_target *ti, unsigned int nr_paths)
> return -EINVAL;
> }
>
> - sctx->region_table = vmalloc(array_size(nr_slots,
> - sizeof(region_table_slot_t)));
> + sctx->region_table = vmalloc_array(nr_slots,
> + sizeof(region_table_slot_t));
> if (!sctx->region_table) {
> ti->error = "Cannot allocate region table";
> return -ENOMEM;
> diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
> index 007bb93e5fca..c84149ba4e38 100644
> --- a/drivers/md/dm-thin.c
> +++ b/drivers/md/dm-thin.c
> @@ -3031,8 +3031,8 @@ static struct pool *pool_create(struct mapped_device *pool_md,
> }
>
> pool->cell_sort_array =
> - vmalloc(array_size(CELL_SORT_ARRAY_SIZE,
> - sizeof(*pool->cell_sort_array)));
> + vmalloc_array(CELL_SORT_ARRAY_SIZE,
> + sizeof(*pool->cell_sort_array));
> if (!pool->cell_sort_array) {
> *error = "Error allocating cell sort array";
> err_p = ERR_PTR(-ENOMEM);
> --
> 2.34.1
>
Powered by blists - more mailing lists