]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
block: integrity cleanups
authorJens Axboe <jens.axboe@oracle.com>
Wed, 18 Jun 2008 08:15:02 +0000 (10:15 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Thu, 3 Jul 2008 11:21:14 +0000 (13:21 +0200)
- No need to check for NULL bio, we'll get an immediate oops anyway.
- Make bio_integrity() a proper function.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
include/linux/bio.h
include/linux/blkdev.h

index 6bfc3e8d9d8922aa1b62e4c7ed5f7bab0fa32dff..0933a14e641423f523d8ed7a56ef7f2a6b849e5c 100644 (file)
@@ -458,7 +458,14 @@ static inline char *__bio_kmap_irq(struct bio *bio, unsigned short idx,
 #define bip_for_each_vec(bvl, bip, i)                                  \
        __bip_for_each_vec(bvl, bip, i, (bip)->bip_idx)
 
-#define bio_integrity(bio)     ((bio)->bi_integrity ? 1 : 0)
+static inline int bio_integrity(struct bio *bio)
+{
+#if defined(CONFIG_BLK_DEV_INTEGRITY)
+       return bio->bi_integrity != NULL;
+#else
+       return 0;
+#endif
+}
 
 extern struct bio_integrity_payload *bio_integrity_alloc_bioset(struct bio *, gfp_t, unsigned int, struct bio_set *);
 extern struct bio_integrity_payload *bio_integrity_alloc(struct bio *, gfp_t, unsigned int);
index 443df75d2cde64cf4af393e693beedf24630e8a2..d3ae9ad972133e08d5725ed60daaac89ee78545c 100644 (file)
@@ -860,7 +860,6 @@ void kblockd_flush_work(struct work_struct *work);
 #define MODULE_ALIAS_BLOCKDEV_MAJOR(major) \
        MODULE_ALIAS("block-major-" __stringify(major) "-*")
 
-
 #if defined(CONFIG_BLK_DEV_INTEGRITY)
 
 #define INTEGRITY_FLAG_READ    1       /* verify data integrity on read */
@@ -945,8 +944,6 @@ static inline int bdev_integrity_enabled(struct block_device *bdev, int rw)
 
 static inline int blk_integrity_rq(struct request *rq)
 {
-       BUG_ON(rq->bio == NULL);
-
        return bio_integrity(rq->bio);
 }
 
@@ -963,7 +960,6 @@ static inline int blk_integrity_rq(struct request *rq)
 
 #endif /* CONFIG_BLK_DEV_INTEGRITY */
 
-
 #else /* CONFIG_BLOCK */
 /*
  * stubs for when the block layer is configured out