Jason Wang
2021-Aug-05 07:12 UTC
[PATCH v10 10/17] virtio: Handle device reset failure in register_virtio_device()
? 2021/8/4 ??5:07, Yongji Xie ??:> On Wed, Aug 4, 2021 at 4:54 PM Jason Wang <jasowang at redhat.com> wrote: >> >> ? 2021/8/4 ??4:50, Yongji Xie ??: >>> On Wed, Aug 4, 2021 at 4:32 PM Jason Wang <jasowang at redhat.com> wrote: >>>> ? 2021/8/3 ??5:38, Yongji Xie ??: >>>>> On Tue, Aug 3, 2021 at 4:09 PM Jason Wang <jasowang at redhat.com> wrote: >>>>>> ? 2021/7/29 ??3:34, Xie Yongji ??: >>>>>>> The device reset may fail in virtio-vdpa case now, so add checks to >>>>>>> its return value and fail the register_virtio_device(). >>>>>> So the reset() would be called by the driver during remove as well, or >>>>>> is it sufficient to deal only with the reset during probe? >>>>>> >>>>> Actually there is no way to handle failure during removal. And it >>>>> should be safe with the protection of software IOTLB even if the >>>>> reset() fails. >>>>> >>>>> Thanks, >>>>> Yongji >>>> If this is true, does it mean we don't even need to care about reset >>>> failure? >>>> >>> But we need to handle the failure in the vhost-vdpa case, isn't it? >> >> Yes, but: >> >> - This patch is for virtio not for vhost, if we don't care virtio, we >> can avoid the changes >> - For vhost, there could be two ways probably: >> >> 1) let the set_status to report error >> 2) require userspace to re-read for status >> >> It looks to me you want to go with 1) and I'm not sure whether or not >> it's too late to go with 2). >> > Looks like 2) can't work if reset failure happens in > vhost_vdpa_release() and vhost_vdpa_open().Yes, you're right. Thanks> > Thanks, > Yongji >