aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/dm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md/dm.c')
-rw-r--r--drivers/md/dm.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index b5e56af8f85a..f4f7d35561ab 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -800,6 +800,15 @@ static int dm_request(request_queue_t *q, struct bio *bio)
800 int rw = bio_data_dir(bio); 800 int rw = bio_data_dir(bio);
801 struct mapped_device *md = q->queuedata; 801 struct mapped_device *md = q->queuedata;
802 802
803 /*
804 * There is no use in forwarding any barrier request since we can't
805 * guarantee it is (or can be) handled by the targets correctly.
806 */
807 if (unlikely(bio_barrier(bio))) {
808 bio_endio(bio, bio->bi_size, -EOPNOTSUPP);
809 return 0;
810 }
811
803 down_read(&md->io_lock); 812 down_read(&md->io_lock);
804 813
805 disk_stat_inc(dm_disk(md), ios[rw]); 814 disk_stat_inc(dm_disk(md), ios[rw]);