On Mon, Nov 02, 2026 at 09:22:20AM +0000, Jamin Lin wrote: > The chardev handling follows hw/usb/redirect.c: take no data before the > parser exists, do not write to a closed backend, do not re-enter the > writer, and let a close that is still queued finish before a new > connection opens.
Exercised the close/reopen path with usb-storage exported: three usb-redir clients in a row on one server each get hello and device_connect. Killing a client with SIGKILL during a direct-I/O dd loop leaves the server running (ASan build), and a fresh client gets sda back and reads what it wrote. Reviewed-by: Junjie Cao <[email protected]> Tested-by: Junjie Cao <[email protected]>
