[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 0/3] virtio-scsi unplug of active device
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v2 0/3] virtio-scsi unplug of active device |
Date: |
Wed, 15 Jan 2014 10:37:41 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9 |
Il 14/01/2014 20:16, Eric Farman ha scritto:
> In working with hot-plug/unplug of virtio-scsi devices on s390,
> we have occasionally noticed some erratic behavior when an unplug
> occurs while I/O is in flight. Ideally a device is not being used
> when it is removed from a guest configuration, but no guarantee
> can be made that this will be the case. And while this scenario
> is meant for I/O that occurs during normal use of a device, it
> includes the pathological case of an unplug that occurs while the
> asynchronous Inquiry loop (initiated by a hotplug) is still ongoing.
>
> Symptoms vary depending on when the unplug is recognized. Sometimes
> a hang occurs, because a reference is not properly released and thus
> never reaches zero. Sometimes a reference is released too early,
> allowing the count to go negative and trip an assertion (or more
> unpredictable results, if storage is released but still used).
>
> Of course there are many times when things work perfectly, though
> that seems to be when the I/O was able to complete in time. These
> patches simply straighten out the completion of I/Os during an
> unplug, such that it results in predictable behavior whenever the
> device is not idle.
>
> Eric Farman (3):
> scsi: Assign cancel_io vector for scsi disk
> scsi/virtio-scsi: Cleanup of I/Os that never started
> scsi/virtio-scsi: Prevent assertion on missed events
>
> hw/scsi/scsi-disk.c | 1 +
> hw/scsi/virtio-scsi.c | 6 +++++-
> 2 files changed, 6 insertions(+), 1 deletion(-)
>
Thanks, applied to scsi-next branch.
Paolo