On 15/05/2015 09:03, Fam Zheng wrote:
> On Fri, 05/15 08:50, Paolo Bonzini wrote:
>>
>>
>> On 15/05/2015 08:04, Fam Zheng wrote:
>>> @@ -111,6 +111,10 @@ static void
>>> virtio_scsi_iothread_handle_ctrl(EventNotifier *notifier)
>>> VirtIOSCSI *s = VIRTIO_SCSI(vring->parent);
>>> VirtIOSCSIReq *req;
>>>
>>> + if (s->pause_counter) {
>>> + virtio_scsi_stop_ioeventfd(s);
>>> + return;
>>> + }
>>> event_notifier_test_and_clear(notifier);
>>> while ((req = virtio_scsi_pop_req_vring(s, vring))) {
>>> virtio_scsi_handle_ctrl_req(s, req);
>>> @@ -124,6 +128,10 @@ static void
>>> virtio_scsi_iothread_handle_event(EventNotifier *notifier)
>>> VirtIOSCSI *s = vring->parent;
>>> VirtIODevice *vdev = VIRTIO_DEVICE(s);
>>>
>>> + if (s->pause_counter) {
>>> + virtio_scsi_stop_ioeventfd(s);
>>> + return;
>>> + }
>>> event_notifier_test_and_clear(notifier);
>>>
>>> if (!(vdev->status & VIRTIO_CONFIG_S_DRIVER_OK)) {
>>
>> Why are these needed?
>
> Not strictly. I think it's something like an "assert(!s->pause_counter)" but
> said gently.
Why be gentle? :)
Paolo