• Olaf Hering's avatar
    xen/pv-on-hvm kexec+kdump: reset PV devices in kexec or crash kernel · 116df6f0
    Olaf Hering authored
    After triggering a crash dump in a HVM guest, the PV backend drivers
    will remain in Connected state. When the kdump kernel starts the PV
    drivers will skip such devices. As a result, no root device is found and
    the vmcore cant be saved.
    
    A similar situation happens after a kexec boot, here the devices will be
    in the Closed state.
    
    With this change all frontend devices with state XenbusStateConnected or
    XenbusStateClosed will be reset by changing the state file to Closing ->
    Closed -> Initializing.  This will trigger a disconnect in the backend
    drivers. Now the frontend drivers will find the backend drivers in state
    Initwait and can connect.
    Signed-off-by: default avatarOlaf Hering <olaf@aepfle.de>
    [v2:
      - add timeout when waiting for backend state change
      (based on feedback from Ian Campell)
      - extent printk message to include backend string
      - add comment to fall-through case in xenbus_reset_frontend]
    Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    116df6f0
xenbus_comms.c 6.08 KB