For bio with REQ_NOMERGE,it mean this bio can't merge with other bios. And the request with this bio has the same meaning. In blk_queue_bio, bio with REQ_NOMERGE can't be merged and get a new request. But in init_request_from_bio, request can't test REQ_NOMERGE. So the request can merge other bio or merge other request. Add REQ_NOMERGE into REQ_COMMON_MASK to avoid this. Signed-off-by: Jianpeng Ma <majianpeng@xxxxxxxxx> --- include/linux/blk_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h index fa1abeb..fc7f4c5 100644 --- a/include/linux/blk_types.h +++ b/include/linux/blk_types.h @@ -197,7 +197,7 @@ enum rq_flag_bits { #define REQ_COMMON_MASK \ (REQ_WRITE | REQ_FAILFAST_MASK | REQ_SYNC | REQ_META | REQ_PRIO | \ REQ_DISCARD | REQ_WRITE_SAME | REQ_NOIDLE | REQ_FLUSH | REQ_FUA | \ - REQ_SECURE) + REQ_SECURE | REQ_NOMERGE) #define REQ_CLONE_MASK REQ_COMMON_MASK #define BIO_NO_ADVANCE_ITER_MASK (REQ_DISCARD|REQ_WRITE_SAME) -- 1.8.4ÿôèº{.nÇ+?·?®??+%?Ëÿ±éݶ¥?wÿº{.nÇ+?·¥?{±þ¶¢wø§¶?¡Ü¨}©?²Æ zÚ&j:+v?¨þø¯ù®w¥þ?à2?Þ?¨èÚ&¢)ß¡«a¶Úÿÿûàz¿äz¹Þ?ú+?ù???Ý¢jÿ?wèþf