Message ID | 20180830103207.60669-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 9065ed1281a57f8cf84695b4a1e86ee9bd586b01 |
Headers | show |
Series | [v1] libnvdimm, label: Switch to bitmap_zalloc() | expand |
Looks good,
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
On 08/30/2018 03:32 AM, Andy Shevchenko wrote: > Switch to bitmap_zalloc() to show clearly what we are allocating. > Besides that it returns pointer of bitmap type instead of opaque void *. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Applied > --- > drivers/nvdimm/label.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c > index 1d28cd656536..53159262c85d 100644 > --- a/drivers/nvdimm/label.c > +++ b/drivers/nvdimm/label.c > @@ -814,8 +814,7 @@ static int __blk_label_update(struct nd_region *nd_region, > victims = 0; > if (old_num_resources) { > /* convert old local-label-map to dimm-slot victim-map */ > - victim_map = kcalloc(BITS_TO_LONGS(nslot), sizeof(long), > - GFP_KERNEL); > + victim_map = bitmap_zalloc(nslot, GFP_KERNEL); > if (!victim_map) > return -ENOMEM; > > @@ -838,7 +837,7 @@ static int __blk_label_update(struct nd_region *nd_region, > /* don't allow updates that consume the last label */ > if (nfree - alloc < 0 || nfree - alloc + victims < 1) { > dev_info(&nsblk->common.dev, "insufficient label space\n"); > - kfree(victim_map); > + bitmap_free(victim_map); > return -ENOSPC; > } > /* from here on we need to abort on error */ > @@ -1010,7 +1009,7 @@ static int __blk_label_update(struct nd_region *nd_region, > > out: > kfree(old_res_list); > - kfree(victim_map); > + bitmap_free(victim_map); > return rc; > > abort: >
diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c index 1d28cd656536..53159262c85d 100644 --- a/drivers/nvdimm/label.c +++ b/drivers/nvdimm/label.c @@ -814,8 +814,7 @@ static int __blk_label_update(struct nd_region *nd_region, victims = 0; if (old_num_resources) { /* convert old local-label-map to dimm-slot victim-map */ - victim_map = kcalloc(BITS_TO_LONGS(nslot), sizeof(long), - GFP_KERNEL); + victim_map = bitmap_zalloc(nslot, GFP_KERNEL); if (!victim_map) return -ENOMEM; @@ -838,7 +837,7 @@ static int __blk_label_update(struct nd_region *nd_region, /* don't allow updates that consume the last label */ if (nfree - alloc < 0 || nfree - alloc + victims < 1) { dev_info(&nsblk->common.dev, "insufficient label space\n"); - kfree(victim_map); + bitmap_free(victim_map); return -ENOSPC; } /* from here on we need to abort on error */ @@ -1010,7 +1009,7 @@ static int __blk_label_update(struct nd_region *nd_region, out: kfree(old_res_list); - kfree(victim_map); + bitmap_free(victim_map); return rc; abort:
Switch to bitmap_zalloc() to show clearly what we are allocating. Besides that it returns pointer of bitmap type instead of opaque void *. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/nvdimm/label.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)