On Wed, 2010-06-02 at 13:52 +0200, Brian 'morlenxus' Miculcy wrote: > I don't have a 2.6.31 kernel in Debian Lenny, can't this patch applied > to the Debian Lenny Kernel as it fixes a stability bug? It looks like we can make a similar change. Bastian, does it look like this will work? Ben. From 81f4306654d459f730dfbe5fac983e1cba8fcf7c Mon Sep 17 00:00:00 2001 From: Christoph Hellwig <email@example.com> Date: Fri, 17 Jul 2009 21:47:45 -0600 Subject: [PATCH] virtio_blk: don't bounce highmem requests By default a block driver bounces highmem requests, but virtio-blk is perfectly fine with any request that fit into it's 64 bit addressing scheme, mapped in the kernel virtual space or not. Besides improving performance on highmem systems this also makes the reproducible oops in __bounce_end_io go away (but hiding the real cause). Signed-off-by: Christoph Hellwig <firstname.lastname@example.org> Signed-off-by: Rusty Russell <email@example.com> [bwh: Adjust context for 2.6.26] --- drivers/block/virtio_blk.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c index dd7ea20..141c0e7 100644 --- a/drivers/block/virtio_blk.c +++ b/drivers/block/virtio_blk.c @@ -276,6 +276,9 @@ static int virtblk_probe(struct virtio_device *vdev) } set_capacity(vblk->disk, cap); + /* No need to bounce any requests */ + blk_queue_bounce_limit(vblk->disk->queue, BLK_BOUNCE_ANY); + /* Host can optionally specify maximum segment size and number of * segments. */ err = virtio_config_val(vdev, VIRTIO_BLK_F_SIZE_MAX, -- 1.7.1 -- Ben Hutchings Once a job is fouled up, anything done to improve it makes it worse.
Description: This is a digitally signed message part