Displaying 11 results from an estimated 11 matches for "blk_put_queue".
Did you mean:
blk_get_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/d...
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/d...
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] [<...
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] [<...
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 hav...
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->rq...
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->rq...