]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
libnvdimm, label: Switch to bitmap_zalloc()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 30 Aug 2018 10:32:07 +0000 (13:32 +0300)
committerDan Williams <dan.j.williams@intel.com>
Mon, 10 Dec 2018 23:58:15 +0000 (15:58 -0800)
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>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/nvdimm/label.c

index 750dbaa6ce82c16173b4816ac44162e02c18e552..a11bf4e6b45170f7912bac518d8c312fad702538 100644 (file)
@@ -944,8 +944,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;
 
@@ -968,7 +967,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 */
@@ -1140,7 +1139,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: