init_flush_request() only set REQ_FLUSH when initializing flush requests making them READ requests. Use WRITE_FLUSH instead. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Mike Snitzer <snitzer@xxxxxxxxxx> --- So, this was the culprit for the incorrect data direction for flush requests. Thanks. block/blk-flush.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: block/block/blk-flush.c =================================================================== --- block.orig/block/blk-flush.c +++ block/block/blk-flush.c @@ -77,7 +77,7 @@ static void post_flush_end_io(struct req static void init_flush_request(struct request *rq, struct gendisk *disk) { rq->cmd_type = REQ_TYPE_FS; - rq->cmd_flags = REQ_FLUSH; + rq->cmd_flags = WRITE_FLUSH; rq->rq_disk = disk; } -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel