Release old elevator on change elevator
Subsystems (3)
PATCH 1/1 Release old elevator on change elevator
We should release old elevator when change to use a new one.
Signed-off-by Zhao Lei <[email protected]>
--- drivers/block/xen-blkfront.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-)
drivers/block/xen-blkfront.c +7 -1
@@ -338,12 +338,18 @@ wait: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);
Signature · 1 line
1.5.5.3
Quoted 33 lines · Zhaolei
We should release old elevator when change to use a new one.
Signed-off-by Zhao Lei <[email protected]>--- drivers/block/xen-blkfront.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-)drivers/block/xen-blkfront.c +7
-1@@ -338,12 +338,18 @@ wait: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);Signature · 1 line
1.5.5.3
I thought we'd already switched that to the nonrot flag, but that is merged up for 2.6.29. So this looks appropriate for 2.6.28, I'll queue it up.
Signature · 1 line
Jens Axboe