block: return errors from blk_integrity_add
Prepare for proper error handling in add_disk. Signed-off-by: Luis Chamberlain <mcgrof@kernel.org> [hch: split from a larger patch] Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Link: https://lore.kernel.org/r/20210818144542.19305-8-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
committed by
Jens Axboe
parent
75f4dca596
commit
614310c9c8
@@ -431,13 +431,15 @@ void blk_integrity_unregister(struct gendisk *disk)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(blk_integrity_unregister);
|
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,
|
int ret;
|
||||||
&disk_to_dev(disk)->kobj, "%s", "integrity"))
|
|
||||||
return;
|
|
||||||
|
|
||||||
kobject_uevent(&disk->integrity_kobj, KOBJ_ADD);
|
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)
|
void blk_integrity_del(struct gendisk *disk)
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ static inline bool integrity_req_gap_front_merge(struct request *req,
|
|||||||
bip_next->bip_vec[0].bv_offset);
|
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 *);
|
void blk_integrity_del(struct gendisk *);
|
||||||
#else /* CONFIG_BLK_DEV_INTEGRITY */
|
#else /* CONFIG_BLK_DEV_INTEGRITY */
|
||||||
static inline bool blk_integrity_merge_rq(struct request_queue *rq,
|
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 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)
|
static inline void blk_integrity_del(struct gendisk *disk)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user