From 9adce279a24aa9c692f1af4d64bbaf2643afa784 Mon Sep 17 00:00:00 2001 From: Zhaolei Date: Fri, 14 Nov 2008 09:44:33 +0100 Subject: [PATCH] --- yaml --- r: 119165 b: refs/heads/master c: 68aee07f9bad2c830a898cf6d6bfc11ea24efc40 h: refs/heads/master i: 119163: 42cb26754d1c09039c9c874fcb1c5665820637b7 v: v3 --- [refs] | 2 +- trunk/drivers/block/xen-blkfront.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c9ac0b539cfe..0d9d987926d4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 561ec68e4de7947167937c49c451728e6b19e63b +refs/heads/master: 68aee07f9bad2c830a898cf6d6bfc11ea24efc40 diff --git a/trunk/drivers/block/xen-blkfront.c b/trunk/drivers/block/xen-blkfront.c index b220c686089d..2d19f0cc47f2 100644 --- a/trunk/drivers/block/xen-blkfront.c +++ b/trunk/drivers/block/xen-blkfront.c @@ -338,12 +338,18 @@ static void do_blkif_request(struct request_queue *rq) static int xlvbd_init_blk_queue(struct gendisk *gd, u16 sector_size) { struct request_queue *rq; + elevator_t *old_e; rq = blk_init_queue(do_blkif_request, &blkif_io_lock); if (rq == NULL) return -1; - elevator_init(rq, "noop"); + old_e = rq->elevator; + if (IS_ERR_VALUE(elevator_init(rq, "noop"))) + printk(KERN_WARNING + "blkfront: Switch elevator failed, use default\n"); + else + elevator_exit(old_e); /* Hard sector size and max sectors impersonate the equiv. hardware. */ blk_queue_hardsect_size(rq, sector_size);