aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/block/brd.c2
-rw-r--r--drivers/block/virtio_blk.c9
-rw-r--r--drivers/block/xen-blkfront.c8
-rw-r--r--drivers/scsi/sd.c4
4 files changed, 5 insertions, 18 deletions
diff --git a/drivers/block/brd.c b/drivers/block/brd.c
index 1c7f63792ff8..47a41272d26b 100644
--- a/drivers/block/brd.c
+++ b/drivers/block/brd.c
@@ -482,7 +482,7 @@ static struct brd_device *brd_alloc(int i)
482 if (!brd->brd_queue) 482 if (!brd->brd_queue)
483 goto out_free_dev; 483 goto out_free_dev;
484 blk_queue_make_request(brd->brd_queue, brd_make_request); 484 blk_queue_make_request(brd->brd_queue, brd_make_request);
485 blk_queue_ordered(brd->brd_queue, QUEUE_ORDERED_TAG); 485 blk_queue_ordered(brd->brd_queue, QUEUE_ORDERED_DRAIN);
486 blk_queue_max_hw_sectors(brd->brd_queue, 1024); 486 blk_queue_max_hw_sectors(brd->brd_queue, 1024);
487 blk_queue_bounce_limit(brd->brd_queue, BLK_BOUNCE_ANY); 487 blk_queue_bounce_limit(brd->brd_queue, BLK_BOUNCE_ANY);
488 488
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 2aafafca2b13..79652809eee8 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
@@ -395,15 +395,6 @@ static int __devinit virtblk_probe(struct virtio_device *vdev)
395 * to implement write barrier support. 395 * to implement write barrier support.
396 */ 396 */
397 blk_queue_ordered(q, QUEUE_ORDERED_DRAIN_FLUSH); 397 blk_queue_ordered(q, QUEUE_ORDERED_DRAIN_FLUSH);
398 } else if (virtio_has_feature(vdev, VIRTIO_BLK_F_BARRIER)) {
399 /*
400 * If the BARRIER feature is supported the host expects us
401 * to order request by tags. This implies there is not
402 * volatile write cache on the host, and that the host
403 * never re-orders outstanding I/O. This feature is not
404 * useful for real life scenarious and deprecated.
405 */
406 blk_queue_ordered(q, QUEUE_ORDERED_TAG);
407 } else { 398 } else {
408 /* 399 /*
409 * If the FLUSH feature is not supported we must assume that 400 * If the FLUSH feature is not supported we must assume that
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index ac1b682edecb..50ec6f834996 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -424,8 +424,7 @@ static int xlvbd_barrier(struct blkfront_info *info)
424 const char *barrier; 424 const char *barrier;
425 425
426 switch (info->feature_barrier) { 426 switch (info->feature_barrier) {
427 case QUEUE_ORDERED_DRAIN: barrier = "enabled (drain)"; break; 427 case QUEUE_ORDERED_DRAIN: barrier = "enabled"; break;
428 case QUEUE_ORDERED_TAG: barrier = "enabled (tag)"; break;
429 case QUEUE_ORDERED_NONE: barrier = "disabled"; break; 428 case QUEUE_ORDERED_NONE: barrier = "disabled"; break;
430 default: return -EINVAL; 429 default: return -EINVAL;
431 } 430 }
@@ -1078,8 +1077,7 @@ static void blkfront_connect(struct blkfront_info *info)
1078 * we're dealing with a very old backend which writes 1077 * we're dealing with a very old backend which writes
1079 * synchronously; draining will do what needs to get done. 1078 * synchronously; draining will do what needs to get done.
1080 * 1079 *
1081 * If there are barriers, then we can do full queued writes 1080 * If there are barriers, then we use flush.
1082 * with tagged barriers.
1083 * 1081 *
1084 * If barriers are not supported, then there's no much we can 1082 * If barriers are not supported, then there's no much we can
1085 * do, so just set ordering to NONE. 1083 * do, so just set ordering to NONE.
@@ -1087,7 +1085,7 @@ static void blkfront_connect(struct blkfront_info *info)
1087 if (err) 1085 if (err)
1088 info->feature_barrier = QUEUE_ORDERED_DRAIN; 1086 info->feature_barrier = QUEUE_ORDERED_DRAIN;
1089 else if (barrier) 1087 else if (barrier)
1090 info->feature_barrier = QUEUE_ORDERED_TAG; 1088 info->feature_barrier = QUEUE_ORDERED_DRAIN_FLUSH;
1091 else 1089 else
1092 info->feature_barrier = QUEUE_ORDERED_NONE; 1090 info->feature_barrier = QUEUE_ORDERED_NONE;
1093 1091
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 2714becc2eaf..cdfc51ab9cf2 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -2151,9 +2151,7 @@ static int sd_revalidate_disk(struct gendisk *disk)
2151 2151
2152 /* 2152 /*
2153 * We now have all cache related info, determine how we deal 2153 * We now have all cache related info, determine how we deal
2154 * with ordered requests. Note that as the current SCSI 2154 * with ordered requests.
2155 * dispatch function can alter request order, we cannot use
2156 * QUEUE_ORDERED_TAG_* even when ordered tag is supported.
2157 */ 2155 */
2158 if (sdkp->WCE) 2156 if (sdkp->WCE)
2159 ordered = sdkp->DPOFUA 2157 ordered = sdkp->DPOFUA