[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] xl dev-detach hangs with missing frontends
How should libxl__initiate_device_generic_remove deal with devices which have no frontend driver? Right now it moves "state" from either XenbusStateInitialising or XenbusStateInitWait to XenbusStateClosing. Then it expects the backend to move "state" to XenbusStateClosed. This will never happen, at least for netback and scsiback. The result is a 10 second delay. # xl -vvvv network-detach $domU $mac 2016-02-11 11:33:19 CET [20318] libxl: debug: libxl.c:4614:libxl_device_nic_remove: ao 0x19b3870: create: how=(nil) callback=(nil) poller=0x19b0200 2016-02-11 11:33:19 CET [20318] libxl: debug: libxl_event.c:636:libxl__ev_xswatch_register: watch w=0x19b2c40 wpath=/local/domain/0/backend/vif/10/1/state token=3/0: register slotnum=3 2016-02-11 11:33:19 CET [20318] libxl: debug: libxl.c:4614:libxl_device_nic_remove: ao 0x19b3870: inprogress: poller=0x19b0200, flags=i 2016-02-11 11:33:19 CET [20318] libxl: debug: libxl_event.c:573:watchfd_callback: watch w=0x19b2c40 wpath=/local/domain/0/backend/vif/10/1/state token=3/0: event epath=/local/domain/0/backend/vif/10/1/state 2016-02-11 11:33:19 CET [20318] libxl: debug: libxl_event.c:878:devstate_callback: backend /local/domain/0/backend/vif/10/1/state wanted state 6 still waiting state 5 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_aoutils.c:88:xswait_timeout_callback: backend /local/domain/0/backend/vif/10/1/state (hoping for state change to 6): xswait timeout (path=/local/domain/0/backend/vif/10/1/state) 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:673:libxl__ev_xswatch_deregister: watch w=0x19b2c40 wpath=/local/domain/0/backend/vif/10/1/state token=3/0: deregister slotnum=3 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:862:devstate_callback: backend /local/domain/0/backend/vif/10/1/state wanted state 6 timed out 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:686:libxl__ev_xswatch_deregister: watch w=0x19b2c40: deregister unregistered 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_device.c:939:device_backend_callback: calling device_backend_cleanup 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:686:libxl__ev_xswatch_deregister: watch w=0x19b2c40: deregister unregistered 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_device.c:945:device_backend_callback: Timeout reached, initiating forced remove 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:636:libxl__ev_xswatch_register: watch w=0x19b2c40 wpath=/local/domain/0/backend/vif/10/1/state token=3/1: register slotnum=3 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:573:watchfd_callback: watch w=0x19b2c40 wpath=/local/domain/0/backend/vif/10/1/state token=3/1: event epath=/local/domain/0/backend/vif/10/1/state 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:874:devstate_callback: backend /local/domain/0/backend/vif/10/1/state wanted state 6 ok 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:673:libxl__ev_xswatch_deregister: watch w=0x19b2c40 wpath=/local/domain/0/backend/vif/10/1/state token=3/1: deregister slotnum=3 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_device.c:939:device_backend_callback: calling device_backend_cleanup 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:686:libxl__ev_xswatch_deregister: watch w=0x19b2c40: deregister unregistered 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_device.c:1036:device_hotplug: calling hotplug script: /opt/xen/staging-wip/etc/xen/scripts/vif-bridge offline 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_aoutils.c:593:libxl__async_exec_start: forking to execute: /opt/xen/staging-wip/etc/xen/scripts/vif-bridge offline 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:542:watchfd_callback: watch epath=/local/domain/0/backend/vif/10/1/state token=3/1: empty slot 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:686:libxl__ev_xswatch_deregister: watch w=0x19b2d40: deregister unregistered 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_device.c:1023:device_hotplug: No hotplug script to execute 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:686:libxl__ev_xswatch_deregister: watch w=0x19b2d40: deregister unregistered 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:1869:libxl__ao_complete: ao 0x19b3870: complete, rc=0 2016-02-11 11:33:29 CET [20318] libxl: debug: libxl_event.c:1838:libxl__ao__destroy: ao 0x19b3870: destroy 2016-02-11 11:33:29 CET [20318] xencall:buffer: debug: total allocations:22 total releases:22 2016-02-11 11:33:29 CET [20318] xencall:buffer: debug: current allocations:0 maximum allocations:2 2016-02-11 11:33:29 CET [20318] xencall:buffer: debug: cache current size:2 2016-02-11 11:33:29 CET [20318] xencall:buffer: debug: cache hits:14 misses:2 toobig:6 # echo $? 0 At least ${dev}-detach reports no error in this case. Olaf _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |