summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm.c
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@redhat.com>2011-08-02 13:32:08 +0200
committerAlasdair G Kergon <agk@redhat.com>2011-08-02 13:32:08 +0200
commited8b752bccf2560e305e25125721d2f0ac759e88 (patch)
treeb909fcf21ca7cdda3e7a680b37162212cce99586 /drivers/md/dm.c
parentdm crypt: optionally support discard requests (diff)
downloadlinux-ed8b752bccf2560e305e25125721d2f0ac759e88.tar.xz
linux-ed8b752bccf2560e305e25125721d2f0ac759e88.zip
dm table: set flush capability based on underlying devices
DM has always advertised both REQ_FLUSH and REQ_FUA flush capabilities regardless of whether or not a given DM device's underlying devices also advertised a need for them. Block's flush-merge changes from 2.6.39 have proven to be more costly for DM devices. Performance regressions have been reported even when DM's underlying devices do not advertise that they have a write cache. Fix the performance regressions by configuring a DM device's flushing capabilities based on those of the underlying devices' capabilities. Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/md/dm.c')
-rw-r--r--drivers/md/dm.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 1000eaf984ef..52b39f335bb3 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1808,7 +1808,6 @@ static void dm_init_md_queue(struct mapped_device *md)
blk_queue_make_request(md->queue, dm_request);
blk_queue_bounce_limit(md->queue, BLK_BOUNCE_ANY);
blk_queue_merge_bvec(md->queue, dm_merge_bvec);
- blk_queue_flush(md->queue, REQ_FLUSH | REQ_FUA);
}
/*