Commit 614310c9 authored by Luis Chamberlain's avatar Luis Chamberlain Committed by Jens Axboe
Browse files

block: return errors from blk_integrity_add



Prepare for proper error handling in add_disk.

Signed-off-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
[hch: split from a larger patch]
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Link: https://lore.kernel.org/r/20210818144542.19305-8-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 75f4dca5
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -431,13 +431,15 @@ void blk_integrity_unregister(struct gendisk *disk)
}
EXPORT_SYMBOL(blk_integrity_unregister);

void blk_integrity_add(struct gendisk *disk)
int blk_integrity_add(struct gendisk *disk)
{
	if (kobject_init_and_add(&disk->integrity_kobj, &integrity_ktype,
				 &disk_to_dev(disk)->kobj, "%s", "integrity"))
		return;
	int ret;

	ret = kobject_init_and_add(&disk->integrity_kobj, &integrity_ktype,
				   &disk_to_dev(disk)->kobj, "%s", "integrity");
	if (!ret)
		kobject_uevent(&disk->integrity_kobj, KOBJ_ADD);
	return ret;
}

void blk_integrity_del(struct gendisk *disk)
+3 −2
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ static inline bool integrity_req_gap_front_merge(struct request *req,
				bip_next->bip_vec[0].bv_offset);
}

void blk_integrity_add(struct gendisk *);
int blk_integrity_add(struct gendisk *disk);
void blk_integrity_del(struct gendisk *);
#else /* CONFIG_BLK_DEV_INTEGRITY */
static inline bool blk_integrity_merge_rq(struct request_queue *rq,
@@ -166,8 +166,9 @@ static inline bool bio_integrity_endio(struct bio *bio)
static inline void bio_integrity_free(struct bio *bio)
{
}
static inline void blk_integrity_add(struct gendisk *disk)
static inline int blk_integrity_add(struct gendisk *disk)
{
	return 0;
}
static inline void blk_integrity_del(struct gendisk *disk)
{