]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
block: Remove blk_alloc_zone_bitmap()
authorDamien Le Moal <dlemoal@kernel.org>
Thu, 4 Jul 2024 05:28:16 +0000 (14:28 +0900)
committerJens Axboe <axboe@kernel.dk>
Fri, 5 Jul 2024 06:42:04 +0000 (00:42 -0600)
Remove the helper function blk_alloc_zone_bitmap() and replace its
single call site with a call to bitmap_alloc(). To be consistent with
this change, use bitmap_free() to free a disk convnetional zone bitmap.

Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20240704052816.623865-6-dlemoal@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-zoned.c

index 0007ef9cd5cacd1996735471f29d9ca3e8b93c42..7ace890136a33396e2badd180cc84698364fa5b5 100644 (file)
@@ -150,13 +150,6 @@ int blkdev_report_zones(struct block_device *bdev, sector_t sector,
 }
 EXPORT_SYMBOL_GPL(blkdev_report_zones);
 
-static inline unsigned long *blk_alloc_zone_bitmap(int node,
-                                                  unsigned int nr_zones)
-{
-       return kcalloc_node(BITS_TO_LONGS(nr_zones), sizeof(unsigned long),
-                           GFP_NOIO, node);
-}
-
 static int blkdev_zone_reset_all(struct block_device *bdev)
 {
        struct bio bio;
@@ -1482,7 +1475,7 @@ void disk_free_zone_resources(struct gendisk *disk)
        mempool_destroy(disk->zone_wplugs_pool);
        disk->zone_wplugs_pool = NULL;
 
-       kfree(disk->conv_zones_bitmap);
+       bitmap_free(disk->conv_zones_bitmap);
        disk->conv_zones_bitmap = NULL;
        disk->zone_capacity = 0;
        disk->last_zone_capacity = 0;
@@ -1604,7 +1597,6 @@ static int blk_revalidate_conv_zone(struct blk_zone *zone, unsigned int idx,
                                    struct blk_revalidate_zone_args *args)
 {
        struct gendisk *disk = args->disk;
-       struct request_queue *q = disk->queue;
 
        if (zone->capacity != zone->len) {
                pr_warn("%s: Invalid conventional zone capacity\n",
@@ -1620,7 +1612,7 @@ static int blk_revalidate_conv_zone(struct blk_zone *zone, unsigned int idx,
 
        if (!args->conv_zones_bitmap) {
                args->conv_zones_bitmap =
-                       blk_alloc_zone_bitmap(q->node, args->nr_zones);
+                       bitmap_zalloc(args->nr_zones, GFP_NOIO);
                if (!args->conv_zones_bitmap)
                        return -ENOMEM;
        }