Re: Slow dc3dd in 3.18 on x86

From: Martin K. Petersen
Date: Fri Oct 24 2014 - 21:51:48 EST


>>>>> "Michael" == Michael L Semon <mlsemon35@xxxxxxxxx> writes:

Michael> There was nothing regarding integrity in /sys/block/sda. I was
Michael> under the impression that both bio integrity and T10 checksums
Michael> require hardware support from good hardware, so the config
Michael> items have always been shut off.

That's correct. But I see what's going on.

Please try this:

commit 8d331952d2cd341d5c0e64eee961f78f6eb4b968
Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
Date: Fri Oct 24 21:39:12 2014 -0400

block: Fix merge logic when CONFIG_BLK_DEV_INTEGRITY is not defined

Commit 4eaf99beadce switched to returning bool and as a result
reversed the logic of the integrity merge checks. However, the
empty stubs used when the block integrity code is compiled out were
still returning 0. Make these stubs return "true".

Reported-by: Michael L. Semon <mlsemon35@xxxxxxxxx>
Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>

diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 9fbf4d3196ed..7442c6b9187e 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1590,13 +1590,13 @@ static inline bool blk_integrity_merge_rq(struct request_queue *rq,
struct request *r1,
struct request *r2)
{
- return 0;
+ return true;
}
static inline bool blk_integrity_merge_bio(struct request_queue *rq,
struct request *r,
struct bio *b)
{
- return 0;
+ return true;
}
static inline bool blk_integrity_is_initialized(struct gendisk *g)
{

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/