search for: blk_put_queu

Displaying 11 results from an estimated 11 matches for "blk_put_queu".

Did you mean: blk_put_queue
2017 Jan 09
4
[PATCH] virtio_blk: fix panic in initialization error path
From: Omar Sandoval <osandov at fb.com> If blk_mq_init_queue() returns an error, it gets assigned to vblk->disk->queue. Then, when we call put_disk(), we end up calling blk_put_queue() with the ERR_PTR, causing a bad dereference. Fix it by only assigning to vblk->disk->queue on success. Signed-off-by: Omar Sandoval <osandov at fb.com> --- drivers/block/virtio_blk.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/block/virtio_blk.c b/...
2017 Jan 09
4
[PATCH] virtio_blk: fix panic in initialization error path
From: Omar Sandoval <osandov at fb.com> If blk_mq_init_queue() returns an error, it gets assigned to vblk->disk->queue. Then, when we call put_disk(), we end up calling blk_put_queue() with the ERR_PTR, causing a bad dereference. Fix it by only assigning to vblk->disk->queue on success. Signed-off-by: Omar Sandoval <osandov at fb.com> --- drivers/block/virtio_blk.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/block/virtio_blk.c b/...
2015 Jan 09
2
blk-mq v3.18: Oops during virtio_blk hot-unplug
...fffffff81379706>] blk_mq_free_queue+0x26/0x1a0 [ 165.633045] [<ffffffff8136fe22>] blk_release_queue+0xa2/0x100 [ 165.633045] [<ffffffff8139f8a2>] kobject_cleanup+0x82/0x1c0 [ 165.633045] [<ffffffff8139f730>] kobject_put+0x30/0x70 [ 165.633045] [<ffffffff81369495>] blk_put_queue+0x15/0x20 [ 165.633045] [<ffffffff8137e033>] disk_release+0x93/0xd0 [ 165.633045] [<ffffffff814d27de>] device_release+0x3e/0xc0 [ 165.633045] [<ffffffff8139f8a2>] kobject_cleanup+0x82/0x1c0 [ 165.633045] [<ffffffff8139f730>] kobject_put+0x30/0x70 [ 165.633045] [&l...
2015 Jan 09
2
blk-mq v3.18: Oops during virtio_blk hot-unplug
...fffffff81379706>] blk_mq_free_queue+0x26/0x1a0 [ 165.633045] [<ffffffff8136fe22>] blk_release_queue+0xa2/0x100 [ 165.633045] [<ffffffff8139f8a2>] kobject_cleanup+0x82/0x1c0 [ 165.633045] [<ffffffff8139f730>] kobject_put+0x30/0x70 [ 165.633045] [<ffffffff81369495>] blk_put_queue+0x15/0x20 [ 165.633045] [<ffffffff8137e033>] disk_release+0x93/0xd0 [ 165.633045] [<ffffffff814d27de>] device_release+0x3e/0xc0 [ 165.633045] [<ffffffff8139f8a2>] kobject_cleanup+0x82/0x1c0 [ 165.633045] [<ffffffff8139f730>] kobject_put+0x30/0x70 [ 165.633045] [&l...
2017 Jan 10
0
[PATCH] virtio_blk: fix panic in initialization error path
On Mon, Jan 09, 2017 at 11:44:12AM -0800, Omar Sandoval wrote: > From: Omar Sandoval <osandov at fb.com> > > If blk_mq_init_queue() returns an error, it gets assigned to > vblk->disk->queue. Then, when we call put_disk(), we end up calling > blk_put_queue() with the ERR_PTR, causing a bad dereference. Fix it by > only assigning to vblk->disk->queue on success. > > Signed-off-by: Omar Sandoval <osandov at fb.com> Acked-by: Michael S. Tsirkin <mst at redhat.com> Jens, do you mind picking this one up as well, since you ha...
2015 Jan 10
0
blk-mq v3.18: Oops during virtio_blk hot-unplug
...blk_mq_free_queue+0x26/0x1a0 > [ 165.633045] [<ffffffff8136fe22>] blk_release_queue+0xa2/0x100 > [ 165.633045] [<ffffffff8139f8a2>] kobject_cleanup+0x82/0x1c0 > [ 165.633045] [<ffffffff8139f730>] kobject_put+0x30/0x70 > [ 165.633045] [<ffffffff81369495>] blk_put_queue+0x15/0x20 > [ 165.633045] [<ffffffff8137e033>] disk_release+0x93/0xd0 > [ 165.633045] [<ffffffff814d27de>] device_release+0x3e/0xc0 > [ 165.633045] [<ffffffff8139f8a2>] kobject_cleanup+0x82/0x1c0 > [ 165.633045] [<ffffffff8139f730>] kobject_put+0x30/0x70...
2015 Jan 10
0
blk-mq v3.18: Oops during virtio_blk hot-unplug
...blk_mq_free_queue+0x26/0x1a0 > [ 165.633045] [<ffffffff8136fe22>] blk_release_queue+0xa2/0x100 > [ 165.633045] [<ffffffff8139f8a2>] kobject_cleanup+0x82/0x1c0 > [ 165.633045] [<ffffffff8139f730>] kobject_put+0x30/0x70 > [ 165.633045] [<ffffffff81369495>] blk_put_queue+0x15/0x20 > [ 165.633045] [<ffffffff8137e033>] disk_release+0x93/0xd0 > [ 165.633045] [<ffffffff814d27de>] device_release+0x3e/0xc0 > [ 165.633045] [<ffffffff8139f8a2>] kobject_cleanup+0x82/0x1c0 > [ 165.633045] [<ffffffff8139f730>] kobject_put+0x30/0x70...
2015 Sep 10
6
[RFC PATCH 0/2] virtio nvme
Hi all, These 2 patches added virtio-nvme to kernel and qemu, basically modified from virtio-blk and nvme code. As title said, request for your comments. Play it in Qemu with: -drive file=disk.img,format=raw,if=none,id=D22 \ -device virtio-nvme-pci,drive=D22,serial=1234,num_queues=4 The goal is to have a full NVMe stack from VM guest(virtio-nvme) to host(vhost_nvme) to LIO NVMe-over-fabrics
2015 Sep 10
6
[RFC PATCH 0/2] virtio nvme
Hi all, These 2 patches added virtio-nvme to kernel and qemu, basically modified from virtio-blk and nvme code. As title said, request for your comments. Play it in Qemu with: -drive file=disk.img,format=raw,if=none,id=D22 \ -device virtio-nvme-pci,drive=D22,serial=1234,num_queues=4 The goal is to have a full NVMe stack from VM guest(virtio-nvme) to host(vhost_nvme) to LIO NVMe-over-fabrics
2012 Apr 20
1
[PATCH] multiqueue: a hodge podge of things
...k; msleep(10); @@ -439,56 +441,78 @@ void blk_cleanup_queue(struct request_queue *q) /* @q won't process any more request, flush async actions */ del_timer_sync(&q->backing_dev_info.laptop_mode_wb_timer); blk_sync_queue(q); /* @q is and will stay empty, shutdown and put */ blk_put_queue(q); } EXPORT_SYMBOL(blk_cleanup_queue); -static int blk_init_free_list(struct request_queue *q) +static int blk_init_queue_ctx(struct request_queue *q, unsigned int nr_queues) { - struct request_list *rl = &q->rq; + struct blk_queue_ctx *ctx; + unsigned int i; - if (unlikely(rl->r...
2012 Apr 20
1
[PATCH] multiqueue: a hodge podge of things
...k; msleep(10); @@ -439,56 +441,78 @@ void blk_cleanup_queue(struct request_queue *q) /* @q won't process any more request, flush async actions */ del_timer_sync(&q->backing_dev_info.laptop_mode_wb_timer); blk_sync_queue(q); /* @q is and will stay empty, shutdown and put */ blk_put_queue(q); } EXPORT_SYMBOL(blk_cleanup_queue); -static int blk_init_free_list(struct request_queue *q) +static int blk_init_queue_ctx(struct request_queue *q, unsigned int nr_queues) { - struct request_list *rl = &q->rq; + struct blk_queue_ctx *ctx; + unsigned int i; - if (unlikely(rl->r...