block: remove alloc_part_info and free_part_info
authorChristoph Hellwig <hch@lst.de>
Tue, 24 Mar 2020 07:25:14 +0000 (08:25 +0100)
committerJens Axboe <axboe@kernel.dk>
Tue, 24 Mar 2020 13:57:07 +0000 (07:57 -0600)
There isn't any good reason not to simply open code the allocation and
freeing of the partition_meta_info structure.  Especially as one of
the branches in alloc_part_info is entirely dead code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/partition-generic.c
include/linux/genhd.h

index e6fd2226a639b3894cff31a48988d3c583f94fb0..f2004f3bd6f746cd77609a809a6ea6c4f2baebfe 100644 (file)
@@ -249,7 +249,9 @@ struct hd_struct *add_partition(struct gendisk *disk, int partno,
        p->policy = get_disk_ro(disk);
 
        if (info) {
-               struct partition_meta_info *pinfo = alloc_part_info(disk);
+               struct partition_meta_info *pinfo;
+
+               pinfo = kzalloc_node(sizeof(*pinfo), GFP_KERNEL, disk->node_id);
                if (!pinfo) {
                        err = -ENOMEM;
                        goto out_free_stats;
@@ -308,7 +310,7 @@ struct hd_struct *add_partition(struct gendisk *disk, int partno,
        return p;
 
 out_free_info:
-       free_part_info(p);
+       kfree(p->info);
 out_free_stats:
        free_part_stats(p);
 out_free:
index 612d38fce55c93400de6b78d6b70c7135a3b94c8..77f8bb8edfcd53eb6116a5ba751d3e5f65305e39 100644 (file)
@@ -465,19 +465,6 @@ void part_dec_in_flight(struct request_queue *q, struct hd_struct *part,
 void part_inc_in_flight(struct request_queue *q, struct hd_struct *part,
                        int rw);
 
-static inline struct partition_meta_info *alloc_part_info(struct gendisk *disk)
-{
-       if (disk)
-               return kzalloc_node(sizeof(struct partition_meta_info),
-                                   GFP_KERNEL, disk->node_id);
-       return kzalloc(sizeof(struct partition_meta_info), GFP_KERNEL);
-}
-
-static inline void free_part_info(struct hd_struct *part)
-{
-       kfree(part->info);
-}
-
 void update_io_ticks(struct hd_struct *part, unsigned long now);
 
 /* block/genhd.c */
@@ -755,7 +742,7 @@ static inline void hd_struct_kill(struct hd_struct *part)
 static inline void hd_free_part(struct hd_struct *part)
 {
        free_part_stats(part);
-       free_part_info(part);
+       kfree(part->info);
        percpu_ref_exit(&part->ref);
 }