summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2008-06-18 10:15:02 +0200
committerJens Axboe <jens.axboe@oracle.com>2008-07-03 13:21:14 +0200
commit6e2401ad6f33de15ff00f78b88159f00a14f3b35 (patch)
tree7dbcb7e08703745a9a60de77114d82e2385f7c6a
parentda9cbc87395308a21465bd25441297bbba0477e1 (diff)
block: integrity cleanups
- 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>
-rw-r--r--include/linux/bio.h9
-rw-r--r--include/linux/blkdev.h4
2 files changed, 8 insertions, 5 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 6bfc3e8d9d8..0933a14e641 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -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);
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 443df75d2cd..d3ae9ad9721 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -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