Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

z2ram: add error handling support for add_disk()

We never checked for errors on add_disk() as this function
returned void. Now that this is fixed, use the shiny new
error handling. Only the disk is cleaned up inside
z2ram_register_disk() as the caller deals with the rest.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
Link: https://lore.kernel.org/r/20211103230437.1639990-8-mcgrof@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>

authored by

Luis Chamberlain and committed by
Jens Axboe
15733754 5a192ccc

+5 -2
+5 -2
drivers/block/z2ram.c
··· 318 318 static int z2ram_register_disk(int minor) 319 319 { 320 320 struct gendisk *disk; 321 + int err; 321 322 322 323 disk = blk_mq_alloc_disk(&tag_set, NULL); 323 324 if (IS_ERR(disk)) ··· 334 333 sprintf(disk->disk_name, "z2ram"); 335 334 336 335 z2ram_gendisk[minor] = disk; 337 - add_disk(disk); 338 - return 0; 336 + err = add_disk(disk); 337 + if (err) 338 + blk_cleanup_disk(disk); 339 + return err; 339 340 } 340 341 341 342 static int __init z2_init(void)