]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - block/genhd.c
memcg: add page_cgroup_ino helper
[karo-tx-linux.git] / block / genhd.c
index 59a1395eedac45e3e5d6326ed2956caf8a7de7c8..0c706f33a599a723fc56b0ef87bb58a71de2cd66 100644 (file)
@@ -1110,8 +1110,7 @@ static void disk_release(struct device *dev)
        disk_release_events(disk);
        kfree(disk->random);
        disk_replace_part_tbl(disk, NULL);
-       free_part_stats(&disk->part0);
-       free_part_info(&disk->part0);
+       hd_free_part(&disk->part0);
        if (disk->queue)
                blk_put_queue(disk->queue);
        kfree(disk);
@@ -1285,7 +1284,11 @@ struct gendisk *alloc_disk_node(int minors, int node_id)
                 * converted to make use of bd_mutex and sequence counters.
                 */
                seqcount_init(&disk->part0.nr_sects_seq);
-               hd_ref_init(&disk->part0);
+               if (hd_ref_init(&disk->part0)) {
+                       hd_free_part(&disk->part0);
+                       kfree(disk);
+                       return NULL;
+               }
 
                disk->minors = minors;
                rand_initialize_disk(disk);