aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-09-03 05:56:16 -0400
committerJens Axboe <jaxboe@fusionio.com>2010-09-10 06:35:36 -0400
commit6958f145459ca7ad9715024de97445addacb8510 (patch)
treec8c945eb68ceb88bd34647d7bcaedd13a0d753ca /drivers/block
parent589d7ed02ade0d06a3510da2e15a7edfdb2ef3d8 (diff)
block: kill QUEUE_ORDERED_BY_TAG
Nobody is making meaningful use of ORDERED_BY_TAG now and queue draining for barrier requests will be removed soon which will render the advantage of tag ordering moot. Kill ORDERED_BY_TAG. The following users are affected. * brd: converted to ORDERED_DRAIN. * virtio_blk: ORDERED_TAG path was already marked deprecated. Removed. * xen-blkfront: ORDERED_TAG case dropped. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Christoph Hellwig <hch@infradead.org> Cc: Nick Piggin <npiggin@kernel.dk> Cc: Michael S. Tsirkin <mst@redhat.com> Cc: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: Chris Wright <chrisw@sous-sol.org> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/brd.c2
-rw-r--r--drivers/block/virtio_blk.c9
-rw-r--r--drivers/block/xen-blkfront.c8
3 files changed, 4 insertions, 15 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