Thread (3 messages) 3 messages, 2 authors, 2014-09-10

Re: [PATCH v2] virtio-rng: fix stuck of hot-unplugging busy device

From: Amos Kong <hidden>
Date: 2014-09-10 06:12:57
Also in: kvm, stable

On Wed, Sep 10, 2014 at 11:04:54AM +0530, Amit Shah wrote:
Hi Amos,

On (Tue) 09 Sep 2014 [19:14:02], Amos Kong wrote:
quoted
When we try to hot-remove a busy virtio-rng device from QEMU monitor,
the device can't be hot-removed. Because virtio-rng driver hangs at
wait_for_completion_killable().

This patch exits the waiting by completing have_data completion before
unregistering, resets data_avail to avoid the hwrng core use wrong
buffer bytes. Before real unregistering we should return -ENODEV for
reading.

When we hot-unplug the device, dd process in guest will exit.
  $ dd if=/dev/hwrng of=/dev/null
  dd: error reading ‘/dev/hwrng’: No such device

Signed-off-by: Amos Kong <redacted>
Cc: stable@vger.kernel.org
---
V2: reset data_avail (Amit)
    adjust unregister order
Thanks, this looks good.

Can you please split into two parts, the complete() in one, and the
hwrng_register_done stuff into another?
I just posted the V3, split to two patches, and updated the commitlog
to describe why we need to return ENODEV for reading.
 
Thanks,

		Amit
-- 
			Amos.
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help