majianpeng 895e3c5c58 md/raid5: For odirect-write performance, do not set STRIPE_PREREAD_ACTIVE.
'sync' writes set both REQ_SYNC and REQ_NOIDLE.
O_DIRECT writes set REQ_SYNC but not REQ_NOIDLE.

We currently assume that a REQ_SYNC request will not be followed by
more requests and so set STRIPE_PREREAD_ACTIVE to expedite the
request.
This is appropriate for sync requests, but not for O_DIRECT requests.

So make the setting of STRIPE_PREREAD_ACTIVE conditional on REQ_NOIDLE
rather than REQ_SYNC.  This is consistent with the documented meaning
of REQ_NOIDLE:

        __REQ_NOIDLE,           /* don't anticipate more IO after this one */

Signed-off-by: Jianpeng Ma <majianpeng@gmail.com>
Signed-off-by: NeilBrown <neilb@suse.de>
2012-07-31 10:05:44 +10:00
..
2012-03-28 18:41:29 +01:00
2012-03-28 18:41:29 +01:00
2012-03-07 19:09:37 +00:00
2011-03-31 11:26:23 -03:00
2007-10-20 02:01:26 +01:00
2012-03-28 18:43:38 +01:00
2010-08-12 04:14:12 +01:00
2012-03-28 18:41:25 +01:00
2011-10-31 20:19:04 +00:00
2012-03-19 12:46:39 +11:00
2012-03-28 18:43:38 +01:00
2012-03-28 18:43:38 +01:00
2012-07-31 10:03:53 +10:00
2012-07-31 10:03:53 +10:00