Displaying 20 results from an estimated 36 matches for "cio_gone".
2013 Dec 13
0
[PATCH v4 RFC 3/3] virtio_ccw: set 'device_lost' on CIO_GONE notification
When a CIO_GONE notification is received the device_lost flag is
set in the virtio_device. This flag should be tested by a backend
in order to be able to prevent triggering final I/O to a device that
is not reachable any more.
The notification is ignored in case remove or set_offline is already
running. The virti...
2013 Nov 21
0
[PATCH v2 RFC 3/3] virtio_ccw: invoke virtio_driver's notify() on CIO_GONE notification
.../cio.h>
@@ -1064,8 +1065,18 @@ out_free:
static int virtio_ccw_cio_notify(struct ccw_device *cdev, int event)
{
- /* TODO: Check whether we need special handling here. */
- return 0;
+ int rc;
+ struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev);
+
+ switch (event) {
+ case CIO_GONE:
+ rc = notify_virtio_device(&vcdev->vdev, VDEV_GONE);
+ break;
+ default:
+ rc = NOTIFY_DONE;
+ break;
+ }
+ return rc;
}
static struct ccw_device_id virtio_ids[] = {
--
1.8.3.1
2013 Nov 21
0
[PATCH v2 RFC 3/3] virtio_ccw: invoke virtio_driver's notify() on CIO_GONE notification
...notify(struct ccw_device *cdev, int event)
>> {
>> - /* TODO: Check whether we need special handling here. */
>> - return 0;
>> + int rc;
>> + struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev);
>> +
>> + switch (event) {
>> + case CIO_GONE:
>> + rc = notify_virtio_device(&vcdev->vdev, VDEV_GONE);
>> + break;
>> + default:
>> + rc = NOTIFY_DONE;
>> + break;
>> + }
>> + return rc;
>> }
>>
>> static struct ccw_device_id virtio_ids[] = {
>> --
>> 1.8.3...
2013 Nov 21
2
[PATCH v2 RFC 3/3] virtio_ccw: invoke virtio_driver's notify() on CIO_GONE notification
...> static int virtio_ccw_cio_notify(struct ccw_device *cdev, int event)
> {
> - /* TODO: Check whether we need special handling here. */
> - return 0;
> + int rc;
> + struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev);
> +
> + switch (event) {
> + case CIO_GONE:
> + rc = notify_virtio_device(&vcdev->vdev, VDEV_GONE);
> + break;
> + default:
> + rc = NOTIFY_DONE;
> + break;
> + }
> + return rc;
> }
>
> static struct ccw_device_id virtio_ids[] = {
> --
> 1.8.3.1
2013 Nov 21
2
[PATCH v2 RFC 3/3] virtio_ccw: invoke virtio_driver's notify() on CIO_GONE notification
...> static int virtio_ccw_cio_notify(struct ccw_device *cdev, int event)
> {
> - /* TODO: Check whether we need special handling here. */
> - return 0;
> + int rc;
> + struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev);
> +
> + switch (event) {
> + case CIO_GONE:
> + rc = notify_virtio_device(&vcdev->vdev, VDEV_GONE);
> + break;
> + default:
> + rc = NOTIFY_DONE;
> + break;
> + }
> + return rc;
> }
>
> static struct ccw_device_id virtio_ids[] = {
> --
> 1.8.3.1
2013 Nov 27
0
[PATCH v2 RFC 3/3] virtio_ccw: invoke virtio_driver's notify() on CIO_GONE notification
...>>>> - /* TODO: Check whether we need special handling here. */
>>>> - return 0;
>>>> + int rc;
>>>> + struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev);
>>>> +
>>>> + switch (event) {
>>>> + case CIO_GONE:
>>>> + rc = notify_virtio_device(&vcdev->vdev, VDEV_GONE);
>>>> + break;
>>>> + default:
>>>> + rc = NOTIFY_DONE;
>>>> + break;
>>>> + }
>>>> + return rc;
>>>> }
>>>>
>>&g...
2013 Nov 21
2
[PATCH v2 RFC 3/3] virtio_ccw: invoke virtio_driver's notify() on CIO_GONE notification
...int event)
> >> {
> >>- /* TODO: Check whether we need special handling here. */
> >>- return 0;
> >>+ int rc;
> >>+ struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev);
> >>+
> >>+ switch (event) {
> >>+ case CIO_GONE:
> >>+ rc = notify_virtio_device(&vcdev->vdev, VDEV_GONE);
> >>+ break;
> >>+ default:
> >>+ rc = NOTIFY_DONE;
> >>+ break;
> >>+ }
> >>+ return rc;
> >> }
> >>
> >> static struct ccw_device_id vi...
2013 Nov 21
2
[PATCH v2 RFC 3/3] virtio_ccw: invoke virtio_driver's notify() on CIO_GONE notification
...int event)
> >> {
> >>- /* TODO: Check whether we need special handling here. */
> >>- return 0;
> >>+ int rc;
> >>+ struct virtio_ccw_device *vcdev = dev_get_drvdata(&cdev->dev);
> >>+
> >>+ switch (event) {
> >>+ case CIO_GONE:
> >>+ rc = notify_virtio_device(&vcdev->vdev, VDEV_GONE);
> >>+ break;
> >>+ default:
> >>+ rc = NOTIFY_DONE;
> >>+ break;
> >>+ }
> >>+ return rc;
> >> }
> >>
> >> static struct ccw_device_id vi...
2014 Apr 25
2
[PATCH 0/1] virtio_ccw: exploit virtio_break_device()
Rusty,
this patch exploits the new function virtio_break_device() as of your patch
set dated January 15th on linux-kernel at vger.kernel.org.
The patch avoids hang situations during device unregister, when a (block)
device with active IO is hot-unplugged.
Heinz Graalfs (1):
virtio_ccw: introduce device_lost in virtio_ccw_device
drivers/s390/kvm/virtio_ccw.c | 49
2014 Apr 25
2
[PATCH 0/1] virtio_ccw: exploit virtio_break_device()
Rusty,
this patch exploits the new function virtio_break_device() as of your patch
set dated January 15th on linux-kernel at vger.kernel.org.
The patch avoids hang situations during device unregister, when a (block)
device with active IO is hot-unplugged.
Heinz Graalfs (1):
virtio_ccw: introduce device_lost in virtio_ccw_device
drivers/s390/kvm/virtio_ccw.c | 49
2013 Nov 27
0
[PATCH v3 RFC 4/4] virtio_ccw: set surprize_removal in virtio_device if a device was lost
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 <graalfs at linux.vnet.ibm.com>
---
drivers/s390/kvm/virtio_ccw.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+...
2014 Apr 25
0
[PATCH 1/1] virtio_ccw: introduce device_lost in virtio_ccw_device
When a device is lost, the common I/O layer calls the notification
handler with CIO_GONE: In that event, flag device_lost as true.
In case the device had been flagged as lost when the remove/offline callbacks
are called, call the new virtio_break_device() function prior to invoking
device_unregister(). This avoids hangs of I/O triggered via the device
unregistration callbacks.
Signed...
2013 Nov 27
7
[PATCH v3 RFC 0/4] virtio: add 'surprize_removal' to virtio_device
Hi, here is an updated patch-set to my v2 RFC
virtio: add new notify() callback to virtio_driver
This RFC introduces a new virtio_device entry 'surprize_removal' instead
of a new 'notify' callback in struct virtio_driver.
When an active virtio block device is hot-unplugged from a KVM guest,
affected guest user applications are not aware of any errors that occur
due to the lost
2013 Nov 27
7
[PATCH v3 RFC 0/4] virtio: add 'surprize_removal' to virtio_device
Hi, here is an updated patch-set to my v2 RFC
virtio: add new notify() callback to virtio_driver
This RFC introduces a new virtio_device entry 'surprize_removal' instead
of a new 'notify' callback in struct virtio_driver.
When an active virtio block device is hot-unplugged from a KVM guest,
affected guest user applications are not aware of any errors that occur
due to the lost
2013 Dec 13
7
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...the 3rd patch)
- get queue lock in order to be able to use safe queue_flag_set() functions
in virtblk_notify() handler
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 ++++++++++++++++++++++++++++++++++++-------
include/linux/virtio.h | 2 ++
3 files changed, 64 insertions(+), 10 deletions(-)
--
1.8.3.1
2013 Dec 13
7
[PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device
...the 3rd patch)
- get queue lock in order to be able to use safe queue_flag_set() functions
in virtblk_notify() handler
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 ++++++++++++++++++++++++++++++++++++-------
include/linux/virtio.h | 2 ++
3 files changed, 64 insertions(+), 10 deletions(-)
--
1.8.3.1
2013 Nov 21
2
[PATCH RFC 0/3] virtio: add new notify() callback to virtio_driver
...bly another 'window' that should be closed.)
>
>
>> Heinz Graalfs (3):
>> virtio: add notify() callback to virtio_driver
>> virtio_blk: add virtblk_notify() as virtio_driver's notify() callback
>> virtio_ccw: invoke virtio_driver's notify() on CIO_GONE notification
>>
>> drivers/block/virtio_blk.c | 14 ++++++++++++++
>> drivers/s390/kvm/virtio_ccw.c | 14 ++++++++++++--
>> drivers/virtio/virtio.c | 8 ++++++++
>> include/linux/virtio.h | 10 ++++++++++
>> 4 files changed, 44 insertions(+...
2013 Nov 21
2
[PATCH RFC 0/3] virtio: add new notify() callback to virtio_driver
...bly another 'window' that should be closed.)
>
>
>> Heinz Graalfs (3):
>> virtio: add notify() callback to virtio_driver
>> virtio_blk: add virtblk_notify() as virtio_driver's notify() callback
>> virtio_ccw: invoke virtio_driver's notify() on CIO_GONE notification
>>
>> drivers/block/virtio_blk.c | 14 ++++++++++++++
>> drivers/s390/kvm/virtio_ccw.c | 14 ++++++++++++--
>> drivers/virtio/virtio.c | 8 ++++++++
>> include/linux/virtio.h | 10 ++++++++++
>> 4 files changed, 44 insertions(+...
2013 Nov 21
5
[PATCH v2 RFC 0/3] virtio: add new notify() callback to virtio_driver
..._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 virtio_driver's notify() on CIO_GONE notification
drivers/block/virtio_blk.c | 17 +++++++++++++++++
drivers/s390/kvm/virtio_ccw.c | 15 +++++++++++++--
drivers/virtio/virtio.c | 9 +++++++++
include/linux/virtio.h | 10 ++++++++++
4 files changed, 49 insertions(+), 2 deletions(-)
--
1.8.3.1
2013 Nov 21
5
[PATCH v2 RFC 0/3] virtio: add new notify() callback to virtio_driver
..._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 virtio_driver's notify() on CIO_GONE notification
drivers/block/virtio_blk.c | 17 +++++++++++++++++
drivers/s390/kvm/virtio_ccw.c | 15 +++++++++++++--
drivers/virtio/virtio.c | 9 +++++++++
include/linux/virtio.h | 10 ++++++++++
4 files changed, 49 insertions(+), 2 deletions(-)
--
1.8.3.1