search for: cio_gone

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