diff options
author | Tejun Heo <tj@kernel.org> | 2010-09-03 05:56:16 -0400 |
---|---|---|
committer | Jens Axboe <jaxboe@fusionio.com> | 2010-09-10 06:35:36 -0400 |
commit | 6958f145459ca7ad9715024de97445addacb8510 (patch) | |
tree | c8c945eb68ceb88bd34647d7bcaedd13a0d753ca /drivers/block | |
parent | 589d7ed02ade0d06a3510da2e15a7edfdb2ef3d8 (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.c | 2 | ||||
-rw-r--r-- | drivers/block/virtio_blk.c | 9 | ||||
-rw-r--r-- | drivers/block/xen-blkfront.c | 8 |
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 | ||