Re: [PATCH v4 RFC 0/3] virtio: add 'device_lost' to virtio_device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx> writes:
> On 19/12/13 01:19, Rusty Russell wrote:
>> Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx> writes:
>>> On 17/12/13 04:42, Rusty Russell wrote:
>>>> Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx> 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 that occur
>>>>> due to the lost device. This patch-set adds code to avoid further request
>>>>> queueing when a lost block device is detected, resulting in appropriate
>>>>> error info. Additionally a potential hang situation can be avoided by not
>>>>> waiting for requests (e.g. in-flight requests) in blk_cleanup_queue() that
>>>>> will never complete.
>>>>>
>>>>> On System z there exists no handshake mechanism between host and guest
>>>>> when a device is hot-unplugged. The device is removed and no further I/O
>>>>> is possible.
>>>>
>>>>
>>>> Hi Heinz,
>>>>
>>>>           If you simply mark every virtqueue as broken when this
>>>> unexpected unplug happens, does that not Just Work?
>>>>
>>>> I think I've asked this before...
>>>> Rusty.
>>>
>>> Hi Rusty,
>>>
>>> setting the (one) virtqueue, vblk is currently using, as broken doesn't
>>> solve the problems.
>>>
>>> In that case virtblk_request()s still succeed  - like this one...
>>
>> No, you set *all* virtqueues broken.  Which is accurate, right?
>>
>> Cheers,
>> Rusty.
>>
>
> I'm sorry, but I don't get this.
> The vblk involved has only 1 virtqueue.
> What do you mean by all "*all* virtqueues ?

Sorry, that was my mistake.  I was referring to the general problem,
and didn't read your previous response.

OK, firstly virtqueue_add *should* fail if vq is broken.  Then it would
work, right?  ie.  Our drivers should already handle the case where a
virtqueue is marked broken, right?  Otherwise they're not robust.

Patch queue coming...

Thanks,
Rusty.
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization




[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux