]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - include/linux/blkdev.h
block: Inline blk_integrity in struct gendisk
[mirror_ubuntu-bionic-kernel.git] / include / linux / blkdev.h
index 4f1968f15e3082da18ef541a95307b50e4fdba0e..60669c20190f6f120fb0bb8745074c15f5af4f2f 100644 (file)
@@ -1468,16 +1468,7 @@ struct blk_integrity_profile {
        const char                      *name;
 };
 
-struct blk_integrity {
-       struct blk_integrity_profile    *profile;
-       unsigned char                   flags;
-       unsigned char                   tuple_size;
-       unsigned char                   interval_exp;
-       unsigned char                   tag_size;
-};
-
-extern bool blk_integrity_is_initialized(struct gendisk *);
-extern int blk_integrity_register(struct gendisk *, struct blk_integrity *);
+extern void blk_integrity_register(struct gendisk *, struct blk_integrity *);
 extern void blk_integrity_unregister(struct gendisk *);
 extern int blk_integrity_compare(struct gendisk *, struct gendisk *);
 extern int blk_rq_map_integrity_sg(struct request_queue *, struct bio *,
@@ -1488,15 +1479,20 @@ extern bool blk_integrity_merge_rq(struct request_queue *, struct request *,
 extern bool blk_integrity_merge_bio(struct request_queue *, struct request *,
                                    struct bio *);
 
-static inline
-struct blk_integrity *bdev_get_integrity(struct block_device *bdev)
+static inline struct blk_integrity *blk_get_integrity(struct gendisk *disk)
 {
-       return bdev->bd_disk->integrity;
+       struct blk_integrity *bi = &disk->integrity;
+
+       if (!bi->profile)
+               return NULL;
+
+       return bi;
 }
 
-static inline struct blk_integrity *blk_get_integrity(struct gendisk *disk)
+static inline
+struct blk_integrity *bdev_get_integrity(struct block_device *bdev)
 {
-       return disk->integrity;
+       return blk_get_integrity(bdev->bd_disk);
 }
 
 static inline bool blk_integrity_rq(struct request *rq)
@@ -1570,10 +1566,9 @@ static inline int blk_integrity_compare(struct gendisk *a, struct gendisk *b)
 {
        return 0;
 }
-static inline int blk_integrity_register(struct gendisk *d,
+static inline void blk_integrity_register(struct gendisk *d,
                                         struct blk_integrity *b)
 {
-       return 0;
 }
 static inline void blk_integrity_unregister(struct gendisk *d)
 {
@@ -1598,10 +1593,7 @@ static inline bool blk_integrity_merge_bio(struct request_queue *rq,
 {
        return true;
 }
-static inline bool blk_integrity_is_initialized(struct gendisk *g)
-{
-       return 0;
-}
+
 static inline bool integrity_req_gap_back_merge(struct request *req,
                                                struct bio *next)
 {