HomeFreeBSD

xen/blkback: fix reconnection of backend

Description

xen/blkback: fix reconnection of backend

The hotplug script will be executed only once for each backend,
regardless of the frontend triggering reconnections. Fix blkback to
deal with the hotplug script being executed only once, so that
reconnections don't stall waiting for a hotplug script execution
that will never happen.

As a result of the fix move the initialization of dev_mode, dev_type
and dev_name to the watch callback, as they should be set only once
the first time the backend connects.

This fix is specially relevant for guests wanting to use UEFI OVMF
firmware, because OVMF will use Xen PV block devices and disconnect
afterwards, thus allowing them to be used by the guest OS. Without
this change the guest OS will stall waiting for the block backed to
attach.

Fixes: de0bad00010c ('blkback: add support for hotplug scripts')
Sponsored by: Citrix Systems R&D
(cherry picked from commit 4772e86beb089ee08a3bff8ad359e83a4c623238)

Details

Provenance
roygerAuthored on May 11 2021, 10:19 AM
Parents
rG499d685b02d4: xen/netback: do not attempt to connect in the Initialised state
Branches
Unknown
Tags
Unknown