2013-10-30 02:42:16

by majianpeng

[permalink] [raw]
Subject: [PATCH 1/3] block: Add REQ_NOMERGE into REQ_COMMON_MASK

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 <[email protected]>
---
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?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?