X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=block%2Fblk-merge.c;h=eafc94f68d79f2ceb1c0a89fce8e449c3a5ff3f6;hb=ae6d22fe1812ce8d40add3eb74ede9cfd2eae44f;hp=3b0cd4249671d9826b42ea10473a11486c403368;hpb=4645b94e5c1aa9c65ee90852ec9538010b114e6a;p=pandora-kernel.git diff --git a/block/blk-merge.c b/block/blk-merge.c index 3b0cd4249671..eafc94f68d79 100644 --- a/block/blk-merge.c +++ b/block/blk-merge.c @@ -361,6 +361,18 @@ static int attempt_merge(struct request_queue *q, struct request *req, if (!rq_mergeable(req) || !rq_mergeable(next)) return 0; + /* + * Don't merge file system requests and discard requests + */ + if ((req->cmd_flags & REQ_DISCARD) != (next->cmd_flags & REQ_DISCARD)) + return 0; + + /* + * Don't merge discard requests and secure discard requests + */ + if ((req->cmd_flags & REQ_SECURE) != (next->cmd_flags & REQ_SECURE)) + return 0; + /* * not contiguous */