Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 68aee07f authored by Zhaolei's avatar Zhaolei Committed by Jens Axboe
Browse files

Release old elevator on change elevator



We should release old elevator when change to use a new one.

Signed-off-by: default avatarZhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent 561ec68e
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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);