Displaying 20 results from an estimated 23 matches for "blk_execute_rq".
2006 Jan 06
2
3ware disk failure -> hang
...10 $SERVER kernel: [<f884417e>] scsi_request_fn+0x297/0x30d [scsi_mod]
Jan 6 01:04:10 $SERVER kernel: [<c0221f68>] __generic_unplug_device+0x2b/0x2d
Jan 6 01:04:10 $SERVER kernel: [<c0221f7f>] generic_unplug_device+0x15/0x21
Jan 6 01:04:10 $SERVER kernel: [<c022288d>] blk_execute_rq+0x88/0xb0
Jan 6 01:04:10 $SERVER kernel: [<c022096e>] elv_set_request+0xa/0x17
Jan 6 01:04:10 $SERVER kernel: [<c022251f>] get_request+0x1de/0x1e8
Jan 6 01:04:10 $SERVER kernel: [<c01a97c3>] task_has_capability+0x4a/0x52
Jan 6 01:04:10 $SERVER kernel: [<c0225cd5>] sg...
2016 Oct 03
1
[PATCH 4/4] virtio_blk: Rename a jump label in virtblk_get_id()
...lk.c
> @@ -247,10 +247,10 @@ static int virtblk_get_id(struct gendisk *disk, char *id_str)
>
> err = blk_rq_map_kern(q, req, id_str, VIRTIO_BLK_ID_BYTES, GFP_KERNEL);
> if (err)
> - goto out;
> + goto put_request;
>
> err = blk_execute_rq(vblk->disk->queue, vblk->disk, req, false);
> -out:
> + put_request:
I checked Documentation/CodingStyle and see no reason to rename the label.
It's also not clear why you added a space. The CodingStyle example
does not use a space before the label.
2016 Oct 03
1
[PATCH 4/4] virtio_blk: Rename a jump label in virtblk_get_id()
...lk.c
> @@ -247,10 +247,10 @@ static int virtblk_get_id(struct gendisk *disk, char *id_str)
>
> err = blk_rq_map_kern(q, req, id_str, VIRTIO_BLK_ID_BYTES, GFP_KERNEL);
> if (err)
> - goto out;
> + goto put_request;
>
> err = blk_execute_rq(vblk->disk->queue, vblk->disk, req, false);
> -out:
> + put_request:
I checked Documentation/CodingStyle and see no reason to rename the label.
It's also not clear why you added a space. The CodingStyle example
does not use a space before the label.
2009 Sep 29
0
[PATCH 3/4] virtio_blk: implement a request-based ID command, VIRTIO_BLK_T_GET_ID
This is fairly simple: we create a request pointing at the 1k kmalloc,
then just change the type so our do_req() knows to mark it as a GET_ID
for the server.
Seems to work here; the only issue is that the error didn't get passed
back from __blk_end_request_all to blk_execute_rq, so we set ->errors
to 1 on error.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
Cc: Jens Axboe <axboe at kernel.dk>
---
drivers/block/virtio_blk.c | 66 +++++++++++++++++++++++++++++++++++----------
include/linux/virtio_blk.h | 4 ++
2 files changed, 56 insertions(+...
2009 Sep 29
0
[PATCH 3/4] virtio_blk: implement a request-based ID command, VIRTIO_BLK_T_GET_ID
This is fairly simple: we create a request pointing at the 1k kmalloc,
then just change the type so our do_req() knows to mark it as a GET_ID
for the server.
Seems to work here; the only issue is that the error didn't get passed
back from __blk_end_request_all to blk_execute_rq, so we set ->errors
to 1 on error.
Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
Cc: Jens Axboe <axboe at kernel.dk>
---
drivers/block/virtio_blk.c | 66 +++++++++++++++++++++++++++++++++++----------
include/linux/virtio_blk.h | 4 ++
2 files changed, 56 insertions(+...
2016 Oct 09
1
[PATCH 4/4] virtio_blk: Rename a jump label in virtblk_get_id()
..._blk.c
> +++ b/drivers/block/virtio_blk.c
> @@ -247,10 +247,10 @@ static int virtblk_get_id(struct gendisk *disk, char *id_str)
>
> err = blk_rq_map_kern(q, req, id_str, VIRTIO_BLK_ID_BYTES, GFP_KERNEL);
> if (err)
> - goto out;
> + goto put_request;
>
> err = blk_execute_rq(vblk->disk->queue, vblk->disk, req, false);
> -out:
> + put_request:
> blk_put_request(req);
> return err;
> }
> --
> 2.10.0
2016 Oct 09
1
[PATCH 4/4] virtio_blk: Rename a jump label in virtblk_get_id()
..._blk.c
> +++ b/drivers/block/virtio_blk.c
> @@ -247,10 +247,10 @@ static int virtblk_get_id(struct gendisk *disk, char *id_str)
>
> err = blk_rq_map_kern(q, req, id_str, VIRTIO_BLK_ID_BYTES, GFP_KERNEL);
> if (err)
> - goto out;
> + goto put_request;
>
> err = blk_execute_rq(vblk->disk->queue, vblk->disk, req, false);
> -out:
> + put_request:
> blk_put_request(req);
> return err;
> }
> --
> 2.10.0
2012 Aug 13
0
[ 01/82] virtio-blk: Call del_gendisk() before disable guest kick
...through interrupt
del_gendisk()
device_del()
kobject_del(): got stuck, sysfs entry ref count non zero
sysfs_open_file(): user space process read /sys/block/vda/serial
sysfs_get_active() : got sysfs entry ref count
dev_attr_show()
virtblk_serial_show()
blk_execute_rq() : got stuck, interrupt is disabled
request cannot be finished
This patch fixes it by calling del_gendisk() before we disable guest's
interrupt so that the request sent in virtblk_serial_show() will be
finished and del_gendisk() will success.
This fixes another...
2012 Aug 13
0
[ 01/82] virtio-blk: Call del_gendisk() before disable guest kick
...through interrupt
del_gendisk()
device_del()
kobject_del(): got stuck, sysfs entry ref count non zero
sysfs_open_file(): user space process read /sys/block/vda/serial
sysfs_get_active() : got sysfs entry ref count
dev_attr_show()
virtblk_serial_show()
blk_execute_rq() : got stuck, interrupt is disabled
request cannot be finished
This patch fixes it by calling del_gendisk() before we disable guest's
interrupt so that the request sent in virtblk_serial_show() will be
finished and del_gendisk() will success.
This fixes another...
2014 Jun 10
0
[PATCH 3.4 45/88] virtio-blk: Call del_gendisk() before disable guest kick
...through interrupt
del_gendisk()
device_del()
kobject_del(): got stuck, sysfs entry ref count non zero
sysfs_open_file(): user space process read /sys/block/vda/serial
sysfs_get_active() : got sysfs entry ref count
dev_attr_show()
virtblk_serial_show()
blk_execute_rq() : got stuck, interrupt is disabled
request cannot be finished
This patch fixes it by calling del_gendisk() before we disable guest's
interrupt so that the request sent in virtblk_serial_show() will be
finished and del_gendisk() will success.
This fixes another...
2014 Jun 10
0
[PATCH 3.4 45/88] virtio-blk: Call del_gendisk() before disable guest kick
...through interrupt
del_gendisk()
device_del()
kobject_del(): got stuck, sysfs entry ref count non zero
sysfs_open_file(): user space process read /sys/block/vda/serial
sysfs_get_active() : got sysfs entry ref count
dev_attr_show()
virtblk_serial_show()
blk_execute_rq() : got stuck, interrupt is disabled
request cannot be finished
This patch fixes it by calling del_gendisk() before we disable guest's
interrupt so that the request sent in virtblk_serial_show() will be
finished and del_gendisk() will success.
This fixes another...
2010 Apr 26
9
passthrough PCI SCSI device
I have a sles10sp3 vm that I''m trying to passthrough a scsi card, which
has a DLT tape drive attached. Anyone doing anything similar?
When I passthrough the scsi card (forced to do both ports), the vm dies
when it loads, I think during udev. I''m viewing the vm through
virt-manager, so I can''t scroll up and see what everything says.
Is there a way to get the text xm
2012 May 21
6
[RFC PATCH 1/5] block: Introduce q->abort_queue_fn()
When user hot-unplug a disk which is busy serving I/O, __blk_run_queue
might be unable to drain all the requests. As a result, the
blk_drain_queue() would loop forever and blk_cleanup_queue would not
return. So hot-unplug will fail.
This patch adds a callback in blk_drain_queue() for low lever driver to
abort requests.
Currently, this is useful for virtio-blk to do cleanup in hot-unplug.
Cc:
2012 May 21
6
[RFC PATCH 1/5] block: Introduce q->abort_queue_fn()
When user hot-unplug a disk which is busy serving I/O, __blk_run_queue
might be unable to drain all the requests. As a result, the
blk_drain_queue() would loop forever and blk_cleanup_queue would not
return. So hot-unplug will fail.
This patch adds a callback in blk_drain_queue() for low lever driver to
abort requests.
Currently, this is useful for virtio-blk to do cleanup in hot-unplug.
Cc:
2010 Jul 07
2
Bug#588310: Xen enabled kernel cannot find the / partition
...? blk_peek_request+0x18b/0x19f
[ 373.555238] [<ffffffff8130c2f2>] ? _spin_unlock_irqrestore+0xd/0xe
[ 373.630188] [<ffffffff8130b1dc>] ? wait_for_common+0xde/0x15b
[ 373.699934] [<ffffffff8104c144>] ? default_wake_function+0x0/0x9
[ 373.772807] [<ffffffff811839a1>] ? blk_execute_rq+0x9d/0xd0
[ 373.840476] [<ffffffff8117ed15>] ? blk_rq_bio_prep+0x39/0x69
[ 373.909180] [<ffffffff8118361f>] ? blk_rq_map_kern+0xe8/0x114
[ 373.978928] [<ffffffffa002a2e8>] ? scsi_execute+0xdc/0x12f [scsi_mod]
[ 374.057003] [<ffffffffa002a37b>] ? scsi_execute_req+0x40...
2012 May 25
9
[PATCH 0/3] Fix hot-unplug race in virtio-blk
This patch set fixes the race when hot-unplug stressed disk.
Asias He (3):
virtio-blk: Call del_gendisk() before disable guest kick
virtio-blk: Reset device after blk_cleanup_queue()
virtio-blk: Use block layer provided spinlock
drivers/block/virtio_blk.c | 25 ++++++-------------------
1 file changed, 6 insertions(+), 19 deletions(-)
--
1.7.10.2
2012 May 25
9
[PATCH 0/3] Fix hot-unplug race in virtio-blk
This patch set fixes the race when hot-unplug stressed disk.
Asias He (3):
virtio-blk: Call del_gendisk() before disable guest kick
virtio-blk: Reset device after blk_cleanup_queue()
virtio-blk: Use block layer provided spinlock
drivers/block/virtio_blk.c | 25 ++++++-------------------
1 file changed, 6 insertions(+), 19 deletions(-)
--
1.7.10.2
2007 Jan 02
0
[PATCH 1/4] add scsi-target and IO_CMD_EPOLL_WAIT patches
...s/cdrom/cdrom.c
+index e866df0..3588e76 100644
+--- a/drivers/cdrom/cdrom.c
++++ b/drivers/cdrom/cdrom.c
+@@ -2133,16 +2133,14 @@ static int cdrom_read_cdda_bpc(struct cd
+ rq->timeout = 60 * HZ;
+ bio = rq->bio;
+
+- if (rq->bio)
+- blk_queue_bounce(q, &rq->bio);
+-
+ if (blk_execute_rq(q, cdi->disk, rq, 0)) {
+ struct request_sense *s = rq->sense;
+ ret = -EIO;
+ cdi->last_sense = s->sense_key;
+ }
+
+- if (blk_rq_unmap_user(bio, len))
++ rq->bio = bio;
++ if (blk_rq_unmap_user(rq))
+ ret = -EFAULT;
+
+ if (ret)
+diff --git a/drivers/scsi/Kconf...
2010 Oct 08
5
Slow link/Capacity changed + Kernel OOPS... possible hardware issues, ideas?
...+0xf/0x20
Oct 8 02:40:43 (none) kernel: [<c12e6696>] wait_for_common+0x96/0x120
Oct 8 02:40:43 (none) kernel: [<c103df80>] ? default_wake_function+0x0/0x10
Oct 8 02:40:43 (none) kernel: [<c12e67c2>] wait_for_completion+0x12/0x20
Oct 8 02:40:43 (none) kernel: [<c1176448>] blk_execute_rq+0x78/0xd0
Oct 8 02:40:43 (none) kernel: [<c1176310>] ? blk_end_sync_rq+0x0/0x30
Oct 8 02:40:43 (none) kernel: [<c117295d>] ? get_request_wait+0x1d/0x190
Oct 8 02:40:43 (none) kernel: [<c103570d>] ?
wakeup_preempt_entity.clone.94+0x8d/0xa0
Oct 8 02:40:43 (none) kernel: [<c11...
2012 Apr 20
1
[PATCH] multiqueue: a hodge podge of things
...t after this complete()
*/
complete(waiting);
}
/**
@@ -43,33 +43,39 @@ static void blk_end_sync_rq(struct request *rq, int error)
* Description:
* Insert a fully prepared request at the back of the I/O scheduler queue
* for execution. Don't wait for completion.
*/
void blk_execute_rq_nowait(struct request_queue *q, struct gendisk *bd_disk,
struct request *rq, int at_head,
rq_end_io_fn *done)
{
int where = at_head ? ELEVATOR_INSERT_FRONT : ELEVATOR_INSERT_BACK;
+ struct blk_queue_ctx *ctx;
WARN_ON(irqs_disabled());
- spin_lock_irq(q->queue_lock);
+
+ /* F...