Thread (1 message) flat view 1 message, 1 author, 2012-07-02

Re: [PATCH] virtio-scsi: hotplug suppot for virtio-scsi

From: Paolo Bonzini <pbonzini@redhat.com>
Date: 2012-07-02 08:12:19
Also in: linux-scsi, lkml

Il 02/07/2012 09:20, mc@linux.vnet.ibm.com ha scritto:
quoted
quoted
+static void virtscsi_handle_event(struct work_struct *work)
+{
+    struct virtio_scsi_event_node *event_node =
+        container_of(work, struct virtio_scsi_event_node, work);
+    struct virtio_scsi *vscsi = event_node->vscsi;
+    struct virtio_scsi_event *event = &event_node->event;
+
+    switch (event->event) {
+    case VIRTIO_SCSI_T_TRANSPORT_RESET:
+        virtscsi_handle_transport_reset(vscsi, event);
+        break;
Please handle VIRTIO_SCSI_T_NO_EVENT too here, and mask out
VIRTIO_SCSI_T_EVENTS_MISSED even if you do not handle it by triggering a
full rescan.
Paolo, what's the appropriate action to response VIRTIO_SCSI_T_NO_EVENT
event? An error message?
No, just do nothing.
I also have some confusion on VIRTIO_SCSI_T_EVENTS_MISSED:
Should VIRTIO_SCSI_T_EVENTS_MISSED always be used with other event flag?
Yes.
For instanse:
(VIRTIO_SCSI_T_EVENTS_MISSED|VIRTIO_SCSI_T_TRANSPORT_RESET) is used to
report hotplug event dropped when a buffer available.
The idea in the spec was that QEMU would report VIRTIO_SCSI_T_NO_EVENT |
VIRTIO_SCSI_T_EVENTS_MISSED as soon as a buffer becomes available, but
technically this is indeed possible.  So you need to handle
VIRTIO_SCSI_T_EVENTS_MISSED first, and the other bits separately.

Paolo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help