device_unregister(). This avoids hangs of I/O triggered via the device
unregistration callbacks.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
Reviewed-by: Cornelia Huck cornelia.h...@de.ibm.com
---
drivers/s390/kvm/virtio_ccw.c | 49 ---
1 file changed, 37
Hello Rusty,
the subject patch was part of your original patch series on January
15th. When is that planned to go upstream?
Heinz
On 01/04/14 04:58, Rusty Russell wrote:
The following changes since commit 33807f4f0daec3b00565c2932d95f614f5833adf:
Merge branch 'for-next' of
On 20/02/14 09:03, Rusty Russell wrote:
Heinz Graalfs graa...@linux.vnet.ibm.com writes:
On 29/01/14 07:31, Rusty Russell wrote:
Heinz Graalfs graa...@linux.vnet.ibm.com writes:
On 23/01/14 05:51, Rusty Russell wrote:
Heinz Graalfs graa...@linux.vnet.ibm.com writes:
Hi, here is my v4 patch
On 29/01/14 07:31, Rusty Russell wrote:
Heinz Graalfs graa...@linux.vnet.ibm.com writes:
On 23/01/14 05:51, Rusty Russell wrote:
Heinz Graalfs graa...@linux.vnet.ibm.com writes:
Hi, here is my v4 patch-set update to the v3 RFC submitted on Nov 27th.
Hi Heinz,
I didn't get
added:
Fixes: 53c18c9906441 (virtio_test: verify if virtqueue_kick() succeeded)
Cc: Heinz Graalfs graa...@linux.vnet.ibm.com
Heinz, you didn't compile test your patch.
Insert angry-Torvalds-face here,
Rusty.
Rusty, yes, I missed to compile the test module.
I'm sorry.
Heinz
On 23/01/14 05:51, Rusty Russell wrote:
Heinz Graalfs graa...@linux.vnet.ibm.com writes:
Hi, here is my v4 patch-set update to the v3 RFC submitted on Nov 27th.
Hi Heinz,
I didn't get a response on my 'break all the virtqueues' patch
series. Could your System Z code work
Rusty, a Happy New Year!
how about my answer? What am I missing?
Original Message
Subject: Re: [PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
Date: Mon, 23 Dec 2013 09:39:13 +0100
From: Heinz Graalfs graa...@linux.vnet.ibm.com
To: Rusty Russell ru
On 19/12/13 01:19, Rusty Russell wrote:
Heinz Graalfs graa...@linux.vnet.ibm.com writes:
On 17/12/13 04:42, Rusty Russell wrote:
Heinz Graalfs graa...@linux.vnet.ibm.com writes:
Hi, here is my v4 patch-set update to the v3 RFC submitted on Nov 27th.
When an active virtio block device is hot
On 17/12/13 04:42, Rusty Russell wrote:
Heinz Graalfs graa...@linux.vnet.ibm.com writes:
Hi, here is my v4 patch-set update to the v3 RFC submitted on Nov 27th.
When an active virtio block device is hot-unplugged from a KVM guest,
affected guest user applications are not aware of any errors
blk_cleanup_queue() when the device_lost flag is set due to a
disappeared device. It avoid hangs due to incomplete requests
(e.g. in-flight requests). Such requests must be considered as lost.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
Acked-by: Cornelia Huck cornelia.h...@de.ibm.com
memory removes a critical path.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
Acked-by: Cornelia Huck cornelia.h...@de.ibm.com
---
drivers/s390/kvm/virtio_ccw.c | 35 ---
1 file changed, 28 insertions(+), 7 deletions(-)
diff --git a/drivers/s390/kvm
Heinz Graalfs (3):
virtio_ccw: fix vcdev pointer handling issues
virtio: introduce 'device_lost' flag in virtio_device
virtio_ccw: set 'device_lost' on CIO_GONE notification
drivers/block/virtio_blk.c| 14 ++-
drivers/s390/kvm/virtio_ccw.c | 58
running. The virtio_device pointer might point to freed memory in that
case.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
Acked-by: Cornelia Huck cornelia.h...@de.ibm.com
---
drivers/s390/kvm/virtio_ccw.c | 23 +--
1 file changed, 21 insertions(+), 2 deletions
On 21/11/13 19:31, Michael S. Tsirkin wrote:
On Thu, Nov 21, 2013 at 06:12:21PM +0100, Heinz Graalfs wrote:
On 21/11/13 16:15, Michael S. Tsirkin wrote:
On Thu, Nov 21, 2013 at 03:45:33PM +0100, Heinz Graalfs wrote:
virtio_ccw's notify() callback for the common IO layer invokes
Code is added to the notify handler to set the 'surprize_removal' flag
in virtio_device in case a CIO_GONE notification occurs. The remove
callback of the backend driver must check this flag in order to perform
special processing for a lost device.
Signed-off-by: Heinz Graalfs graa
resulting in a hang. This is a weird situation, and most likely not
'serializable'.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/block/virtio_blk.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 2d43be4
a device is lost
v1-v2 changes:
- add include of linux/notifier.h (I also added it to the 3rd patch)
- get queue lock in order to be able to use safe queue_flag_set() functions
in virtblk_notify() handler
Heinz Graalfs (4):
virtio: add surprize_removal to virtio_device
virtio_blk: avoid
-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/virtio/virtio.c | 1 +
include/linux/virtio.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
index ee59b74..290d1e2 100644
--- a/drivers/virtio/virtio.c
+++ b/drivers/virtio/virtio.c
likely not
'serializable'.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/block/virtio_blk.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 0f64282..8c05001 100644
--- a/drivers/block/virtio_blk.c
On 27/11/13 11:47, Michael S. Tsirkin wrote:
On Wed, Nov 27, 2013 at 11:32:39AM +0100, Heinz Graalfs wrote:
Code is added to avoid calling blk_cleanup_queue() when the surprize_removal
flag is set due to a disappeared device. It avoid hangs due to incomplete
requests (e.g. in-flight requests
On 27/11/13 13:49, Michael S. Tsirkin wrote:
On Wed, Nov 27, 2013 at 12:37:02PM +0100, Heinz Graalfs wrote:
On 27/11/13 11:47, Michael S. Tsirkin wrote:
On Wed, Nov 27, 2013 at 11:32:39AM +0100, Heinz Graalfs wrote:
Code is added to avoid calling blk_cleanup_queue() when the surprize_removal
modifies the CIO notify handler in virtio_ccw's transport layer to pass
on the lost device info to virtio's backend driver virtio_blk.
Heinz Graalfs (3):
virtio: add notify() callback to virtio_driver
virtio_blk: add virtblk_notify() as virtio_driver's notify() callback
virtio_ccw: invoke
in include/linux/notifier.h.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/virtio/virtio.c | 9 +
include/linux/virtio.h | 10 ++
2 files changed, 19 insertions(+)
diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
index ee59b74..a7f4302 100644
errors.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/block/virtio_blk.c | 17 +
1 file changed, 17 insertions(+)
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 2d43be4..04fd635 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers
On 21/11/13 16:15, Michael S. Tsirkin wrote:
On Thu, Nov 21, 2013 at 03:45:33PM +0100, Heinz Graalfs wrote:
virtio_ccw's notify() callback for the common IO layer invokes
virtio_driver's notify() callback to pass-on information to a
backend driver if an online device disappeared.
Signed-off
On 21/11/13 07:47, Michael S. Tsirkin wrote:
On Wed, Nov 20, 2013 at 04:22:00PM +0100, Heinz Graalfs wrote:
Hi,
when an active virtio block device is hot-unplugged from a KVM guest, running
affected guest user applications are not aware of any errors that occur due
to the lost device
On 21/11/13 15:58, Michael S. Tsirkin wrote:
On Thu, Nov 21, 2013 at 03:43:51PM +0100, Heinz Graalfs wrote:
On 21/11/13 07:47, Michael S. Tsirkin wrote:
On Wed, Nov 20, 2013 at 04:22:00PM +0100, Heinz Graalfs wrote:
Hi,
when an active virtio block device is hot-unplugged from a KVM guest
request queueing.
Patch 3 modifies the CIO notify handler in virtio_ccw's transport layer to pass
on the lost device info to virtio's backend driver virtio_blk.
Heinz Graalfs (3):
virtio: add notify() callback to virtio_driver
virtio_blk: add virtblk_notify() as virtio_driver's notify() callback
in include/linux/notifier.h.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/virtio/virtio.c | 8
include/linux/virtio.h | 10 ++
2 files changed, 18 insertions(+)
diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
index ee59b74..a09abb4 100644
errors.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/block/virtio_blk.c | 14 ++
1 file changed, 14 insertions(+)
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 2d43be4..7fc1d62 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block
virtio_ccw's notify() callback for the common IO layer invokes
virtio_driver's notify() callback to pass-on information to a
backend driver if an online device disappeared.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/s390/kvm/virtio_ccw.c | 14 --
1 file
If virtqueue_get_buf() returned with a NULL pointer avoid a possibly
endless loop by checking for a broken virtqueue.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/scsi/virtio_scsi.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/scsi/virtio_scsi.c b/drivers
Rusty,
and here is patch 9 as you suggested.
Thanks.
Heinz Graalfs (9):
virtio_ring: change host notification API
virtio_ring: let virtqueue_{kick()/notify()} return a bool
virtio_net: verify if virtqueue_kick() succeeded
virtio_test: verify if virtqueue_kick() succeeded
virtio_ring
Rusty,
here is just patch 1 (using bool as return value in notify API).
Thanks.
Heinz Graalfs (9):
virtio_ring: change host notification API
virtio_ring: let virtqueue_{kick()/notify()} return a bool
virtio_net: verify if virtqueue_kick() succeeded
virtio_test: verify if virtqueue_kick
changes the notify API. The notify function must return a
bool return value. It returns false if the host notification failed.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/lguest/lguest_device.c | 3 ++-
drivers/remoteproc/remoteproc_virtio.c | 3 ++-
drivers/s390/kvm
If a virtqueue_get_buf() call returns a NULL pointer a possibly endless while
loop should be avoided by checking for a broken virtqueue.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/net/virtio_net.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
Verify if a host kick succeeded by checking return value of virtqueue_kick().
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
tools/virtio/virtio_test.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/virtio/virtio_test.c b/tools/virtio/virtio_test.c
index
Verify if a host kick succeeded by checking return value of virtqueue_kick().
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/net/virtio_net.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
(). This function should be
used to verify the state of a virtqueue when a previous virtqueue_get_buf()
returned a NULL pointer.
Patch [6,7,8,9] add virtqueue_is_broken() calls to handle potential errors
when a virtqueue_bet_buf() doesn't deliver any more buffers.
Heinz Graalfs (9):
virtio_ring
changes the notify API. The notify function must return a
negative int return value in case the host notification failed.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/lguest/lguest_device.c | 3 ++-
drivers/remoteproc/remoteproc_virtio.c | 3 ++-
drivers/s390/kvm
-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/virtio/virtio_ring.c | 20
include/linux/virtio.h | 4 ++--
2 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
index aa40f6c..a7e0eec
If virtqueue_get_buf() returns with a NULL pointer it should be verified
if the virtqueue is broken, in order to avoid loop calling cpu_relax().
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/char/virtio_console.c | 6 --
1 file changed, 4 insertions(+), 2 deletions
Add new function virtqueue_is_broken(). Callers of virtqueue_get_buf()
should check for a broken queue.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/virtio/virtio_ring.c | 8
include/linux/virtio.h | 2 ++
2 files changed, 10 insertions(+)
diff --git
In case virtqueue_get_buf() returned with a NULL pointer verify if the
virtqueue is broken in order to leave while loop.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/block/virtio_blk.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/block/virtio_blk.c b
If virtqueue_get_buf() returned with a NULL pointer avoid a possibly
endless loop by checking for a broken virtqueue.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/scsi/virtio_scsi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi
host kick failed blk_cleanup_queue() should be invoked
prior to del_gendisk().
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/block/virtio_blk.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
device removal when virtblk_remove() invokes del_gendisk() to
synch dirty inode pages (invalidate_partition()).
The below patches [4,5,6,7] also exploit a 'broken' virtqueue in order to
trigger IO errors as well as to prevent final hanging IO operations.
Heinz Graalfs (7):
virtio_ring: add new
In case the virtqueue is flagged as broken, IO errors are triggered
for current request queue entries.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/block/virtio_blk.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/drivers/block/virtio_blk.c b/drivers
The request queue should be flagged as QUEUE_FLAG_DYING in case the host
kick failed for a new virtqueue request.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/block/virtio_blk.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/block
Set the current virtqueue as broken if the appropriate host kick failed
(e.g. if the device was hot-unplugged via host means).
This error info can be exploited at various other places where a host
kick is triggered.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/s390/kvm
This patch adds 2 new functions:
virtqueue_set_broken(): to be called when a virtqueue kick operation fails.
virtqueue_is_broken(): can be called to query the virtqueue state after a host
was kicked.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/virtio/virtio_ring.c | 16
is flagged
as broken.
Signed-off-by: Heinz Graalfs graa...@linux.vnet.ibm.com
---
drivers/net/virtio_net.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index ab2e5d0..57f5f13 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers
52 matches
Mail list logo