diff options
author | Luis Chamberlain <mcgrof@kernel.org> | 2021-08-18 16:45:40 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-08-23 12:55:45 -0600 |
commit | 83cbce9574462c6b4eed6797bdaf18fae6859ab3 (patch) | |
tree | d0457ade896747cff5f3f2d660b2b445ef97c908 /include/linux/genhd.h | |
parent | 92e7755ebc69233e25a2d1b760aeff536dc4016b (diff) | |
download | linux-stable-83cbce9574462c6b4eed6797bdaf18fae6859ab3.tar.gz linux-stable-83cbce9574462c6b4eed6797bdaf18fae6859ab3.tar.bz2 linux-stable-83cbce9574462c6b4eed6797bdaf18fae6859ab3.zip |
block: add error handling for device_add_disk / add_disk
Properly unwind on errors in device_add_disk. This is the initial work
as drivers are not converted yet, which will follow in separate patches.
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
[hch: major rebase. All bugs are probably mine]
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Link: https://lore.kernel.org/r/20210818144542.19305-10-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/genhd.h')
-rw-r--r-- | include/linux/genhd.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 55acefdd8a20..c68d83c87f83 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h @@ -214,11 +214,11 @@ static inline dev_t disk_devt(struct gendisk *disk) void disk_uevent(struct gendisk *disk, enum kobject_action action); /* block/genhd.c */ -extern void device_add_disk(struct device *parent, struct gendisk *disk, - const struct attribute_group **groups); -static inline void add_disk(struct gendisk *disk) +int device_add_disk(struct device *parent, struct gendisk *disk, + const struct attribute_group **groups); +static inline int add_disk(struct gendisk *disk) { - device_add_disk(NULL, disk, NULL); + return device_add_disk(NULL, disk, NULL); } extern void del_gendisk(struct gendisk *gp); |