* execute hotplug scripts from libxl v10
@ 2012-07-20 13:55 Roger Pau Monne
2012-07-20 15:16 ` Ian Campbell
0 siblings, 1 reply; 3+ messages in thread
From: Roger Pau Monne @ 2012-07-20 13:55 UTC (permalink / raw)
To: xen-devel@lists.xen.org; +Cc: Ian Jackson
Hello,
As requested I've created a remote branch that contains the latest
version of my hotplug series.
Changes are available in the git repository at:
git://xenbits.xen.org/people/royger/xen.git hotplug.v10
Roger Pau Monne (19):
*libxl: check backend state before setting it to "closing"
libxl: change ao_device_remove to ao_device
*libxl: move device model creation prototypes
*libxl: convert libxl_domain_destroy to an async op
*libxl: move bootloader data strucutres and prototypes
libxl: refactor disk addition to take a helper
libxl: convert libxl__device_disk_local_attach to an async op
*libxl: rename vifs to nics
*libxl: convert libxl_device_disk_add to an async op
*libxl: convert libxl_device_nic_add to an async operation
*libxl: add option to choose who executes hotplug scripts
*libxl: rename _IOEMU nic type to VIF_IOEMU
libxl: set correct nic type depending on the guest
*libxl: use libxl__xs_path_cleanup on device_destroy
*libxl: call hotplug scripts for disk devices from libxl
*libxl: call hotplug scripts for nic devices from libxl
libxl: convert libxl_device_vkb_add to an async operation
libxl: convert libxl_device_vfb_add to an async operation
xl: main_blockdetach don't call destroy if remove succeeds
* Acked
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: execute hotplug scripts from libxl v10
2012-07-20 13:55 execute hotplug scripts from libxl v10 Roger Pau Monne
@ 2012-07-20 15:16 ` Ian Campbell
2012-07-20 15:55 ` Stefano Stabellini
0 siblings, 1 reply; 3+ messages in thread
From: Ian Campbell @ 2012-07-20 15:16 UTC (permalink / raw)
To: Roger Pau Monne; +Cc: Stefano Stabellini, Ian Jackson, xen-devel@lists.xen.org
With this version I get a timeout when destroying an HVM guest which
uses stub domains. The timeout seems to be waiting for the stub domain's
non-primary consoles to move to state 6. I know that console 0 of a PV
domain is special (and doesn't follow the usual state machine) but this
is console 1,2 & 3 which I thought did. Perhaps Stefano can shed some
light?
I'm pretty certain this wasn't happening with the latest version of this
series I was using, which was either v8 or v9 IIRC.
Ian.
quartz:~# xl -vvv dest dHVM-1
libxl: debug: libxl.c:1262:libxl_domain_destroy: ao 0x8069688: create: how=(nil) callback=(nil) poller=0x80696c8
libxl: debug: libxl_dm.c:1228:libxl__destroy_device_model: Device Model signaled
libxl: debug: libxl_event.c:512:libxl__ev_xswatch_register: watch w=0x806b02c wpath=/local/domain/0/backend/vbd/69/768/state token=3/0: register slotnum=3
libxl: debug: libxl_event.c:512:libxl__ev_xswatch_register: watch w=0x806b24c wpath=/local/domain/0/backend/console/69/1/state token=2/1: register slotnum=2
libxl: debug: libxl_event.c:512:libxl__ev_xswatch_register: watch w=0x806b2d4 wpath=/local/domain/0/backend/console/69/2/state token=1/2: register slotnum=1
libxl: debug: libxl_event.c:512:libxl__ev_xswatch_register: watch w=0x806b35c wpath=/local/domain/0/backend/console/69/3/state token=0/3: register slotnum=0
libxl: debug: libxl_event.c:512:libxl__ev_xswatch_register: watch w=0x806b3e4 wpath=/local/domain/0/backend/vif/69/0/state token=19/4: register slotnum=19
libxl: debug: libxl_event.c:512:libxl__ev_xswatch_register: watch w=0x806ba34 wpath=/local/domain/0/backend/vbd/68/768/state token=18/5: register slotnum=18
libxl: debug: libxl_event.c:512:libxl__ev_xswatch_register: watch w=0x806bbcc wpath=/local/domain/0/backend/vif/68/0/state token=17/6: register slotnum=17
libxl: debug: libxl.c:1271:libxl_domain_destroy: ao 0x8069688: inprogress: poller=0x80696c8, flags=i
libxl: debug: libxl_event.c:457:watchfd_callback: watch w=0x806b02c wpath=/local/domain/0/backend/vbd/69/768/state token=3/0: event epath=/local/domain/0/backend/vbd/69/768/state
libxl: debug: libxl_event.c:596:devstate_watch_callback: backend /local/domain/0/backend/vbd/69/768/state wanted state 6 ok
libxl: debug: libxl_event.c:549:libxl__ev_xswatch_deregister: watch w=0x806b02c wpath=/local/domain/0/backend/vbd/69/768/state token=3/0: deregister slotnum=3
libxl: debug: libxl_event.c:561:libxl__ev_xswatch_deregister: watch w=0x806b02c: deregister unregistered
libxl: debug: libxl_device.c:901:device_hotplug: calling hotplug script: /etc/xen/scripts/block remove
libxl: debug: libxl_event.c:426:watchfd_callback: watch epath=/local/domain/0/backend/vbd/69/768/state token=3/0: empty slot
libxl: debug: libxl_event.c:457:watchfd_callback: watch w=0x806b24c wpath=/local/domain/0/backend/console/69/1/state token=2/1: event epath=/local/domain/0/backend/console/69/1/state
libxl: debug: libxl_event.c:600:devstate_watch_callback: backend /local/domain/0/backend/console/69/1/state wanted state 6 still waiting state 5
libxl: debug: libxl_event.c:457:watchfd_callback: watch w=0x806b2d4 wpath=/local/domain/0/backend/console/69/2/state token=1/2: event epath=/local/domain/0/backend/console/69/2/state
libxl: debug: libxl_event.c:600:devstate_watch_callback: backend /local/domain/0/backend/console/69/2/state wanted state 6 still waiting state 5
libxl: debug: libxl_event.c:457:watchfd_callback: watch w=0x806b35c wpath=/local/domain/0/backend/console/69/3/state token=0/3: event epath=/local/domain/0/backend/console/69/3/state
libxl: debug: libxl_event.c:600:devstate_watch_callback: backend /local/domain/0/backend/console/69/3/state wanted state 6 still waiting state 5
libxl: debug: libxl_event.c:457:watchfd_callback: watch w=0x806b3e4 wpath=/local/domain/0/backend/vif/69/0/state token=19/4: event epath=/local/domain/0/backend/vif/69/0/state
libxl: debug: libxl_event.c:600:devstate_watch_callback: backend /local/domain/0/backend/vif/69/0/state wanted state 6 still waiting state 5
libxl: debug: libxl_event.c:457:watchfd_callback: watch w=0x806ba34 wpath=/local/domain/0/backend/vbd/68/768/state token=18/5: event epath=/local/domain/0/backend/vbd/68/768/state
libxl: debug: libxl_event.c:600:devstate_watch_callback: backend /local/domain/0/backend/vbd/68/768/state wanted state 6 still waiting state 5
libxl: debug: libxl_event.c:457:watchfd_callback: watch w=0x806bbcc wpath=/local/domain/0/backend/vif/68/0/state token=17/6: event epath=/local/domain/0/backend/vif/68/0/state
libxl: debug: libxl_event.c:600:devstate_watch_callback: backend /local/domain/0/backend/vif/68/0/state wanted state 6 still waiting state 5
libxl: debug: libxl_event.c:457:watchfd_callback: watch w=0x806b3e4 wpath=/local/domain/0/backend/vif/69/0/state token=19/4: event epath=/local/domain/0/backend/vif/69/0/state
libxl: debug: libxl_event.c:596:devstate_watch_callback: backend /local/domain/0/backend/vif/69/0/state wanted state 6 ok
libxl: debug: libxl_event.c:549:libxl__ev_xswatch_deregister: watch w=0x806b3e4 wpath=/local/domain/0/backend/vif/69/0/state token=19/4: deregister slotnum=19
libxl: debug: libxl_event.c:561:libxl__ev_xswatch_deregister: watch w=0x806b3e4: deregister unregistered
libxl: debug: libxl_device.c:901:device_hotplug: calling hotplug script: /etc/xen/scripts/vif-bridge offline
libxl: debug: libxl_event.c:457:watchfd_callback: watch w=0x806ba34 wpath=/local/domain/0/backend/vbd/68/768/state token=18/5: event epath=/local/domain/0/backend/vbd/68/768/state
libxl: debug: libxl_event.c:596:devstate_watch_callback: backend /local/domain/0/backend/vbd/68/768/state wanted state 6 ok
libxl: debug: libxl_event.c:549:libxl__ev_xswatch_deregister: watch w=0x806ba34 wpath=/local/domain/0/backend/vbd/68/768/state token=18/5: deregister slotnum=18
libxl: debug: libxl_event.c:561:libxl__ev_xswatch_deregister: watch w=0x806ba34: deregister unregistered
libxl: debug: libxl_device.c:901:device_hotplug: calling hotplug script: /etc/xen/scripts/block remove
libxl: debug: libxl_event.c:457:watchfd_callback: watch w=0x806bbcc wpath=/local/domain/0/backend/vif/68/0/state token=17/6: event epath=/local/domain/0/backend/vif/68/0/state
libxl: debug: libxl_event.c:596:devstate_watch_callback: backend /local/domain/0/backend/vif/68/0/state wanted state 6 ok
libxl: debug: libxl_event.c:549:libxl__ev_xswatch_deregister: watch w=0x806bbcc wpath=/local/domain/0/backend/vif/68/0/state token=17/6: deregister slotnum=17
libxl: debug: libxl_event.c:561:libxl__ev_xswatch_deregister: watch w=0x806bbcc: deregister unregistered
libxl: debug: libxl_device.c:901:device_hotplug: calling hotplug script: /etc/xen/scripts/vif-bridge offline
libxl: debug: libxl_xshelp.c:222:libxl__xs_path_cleanup: unable to remove path /local/domain/69/device/vif/0: No such file or directory
libxl: debug: libxl_xshelp.c:222:libxl__xs_path_cleanup: unable to remove path /local/domain/68/device/vif/0: No such file or directory
libxl: debug: libxl_event.c:614:devstate_timeout: backend /local/domain/0/backend/console/69/1/state wanted state 6 timed out
libxl: debug: libxl_event.c:549:libxl__ev_xswatch_deregister: watch w=0x806b24c wpath=/local/domain/0/backend/console/69/1/state token=2/1: deregister slotnum=2
libxl: debug: libxl_event.c:561:libxl__ev_xswatch_deregister: watch w=0x806b24c: deregister unregistered
libxl: error: libxl_device.c:843:device_backend_callback: unable to disconnect device with path /local/domain/0/backend/console/69/1
libxl: debug: libxl_xshelp.c:222:libxl__xs_path_cleanup: unable to remove path /local/domain/69/device/console/1: No such file or directory
libxl: debug: libxl_event.c:614:devstate_timeout: backend /local/domain/0/backend/console/69/2/state wanted state 6 timed out
libxl: debug: libxl_event.c:549:libxl__ev_xswatch_deregister: watch w=0x806b2d4 wpath=/local/domain/0/backend/console/69/2/state token=1/2: deregister slotnum=1
libxl: debug: libxl_event.c:561:libxl__ev_xswatch_deregister: watch w=0x806b2d4: deregister unregistered
libxl: error: libxl_device.c:843:device_backend_callback: unable to disconnect device with path /local/domain/0/backend/console/69/2
libxl: debug: libxl_xshelp.c:222:libxl__xs_path_cleanup: unable to remove path /local/domain/69/device/console/2: No such file or directory
libxl: debug: libxl_event.c:614:devstate_timeout: backend /local/domain/0/backend/console/69/3/state wanted state 6 timed out
libxl: debug: libxl_event.c:549:libxl__ev_xswatch_deregister: watch w=0x806b35c wpath=/local/domain/0/backend/console/69/3/state token=0/3: deregister slotnum=0
libxl: debug: libxl_event.c:561:libxl__ev_xswatch_deregister: watch w=0x806b35c: deregister unregistered
libxl: error: libxl_device.c:843:device_backend_callback: unable to disconnect device with path /local/domain/0/backend/console/69/3
libxl: debug: libxl_xshelp.c:222:libxl__xs_path_cleanup: unable to remove path /local/domain/69/device/console/3: No such file or directory
libxl: error: libxl.c:1462:devices_destroy_cb: libxl__devices_destroy failed for 69
libxl: debug: libxl_event.c:1434:libxl__ao_complete: ao 0x8069688: complete, rc=0
libxl: debug: libxl_event.c:1406:libxl__ao__destroy: ao 0x8069688: destroy
xc: debug: hypercall buffer: total allocations:67 total releases:67
xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
xc: debug: hypercall buffer: cache current size:2
xc: debug: hypercall buffer: cache hits:64 misses:2 toobig:1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: execute hotplug scripts from libxl v10
2012-07-20 15:16 ` Ian Campbell
@ 2012-07-20 15:55 ` Stefano Stabellini
0 siblings, 0 replies; 3+ messages in thread
From: Stefano Stabellini @ 2012-07-20 15:55 UTC (permalink / raw)
To: Ian Campbell
Cc: xen-devel@lists.xen.org, Ian Jackson, Stefano Stabellini,
Roger Pau Monne
On Fri, 20 Jul 2012, Ian Campbell wrote:
> With this version I get a timeout when destroying an HVM guest which
> uses stub domains. The timeout seems to be waiting for the stub domain's
> non-primary consoles to move to state 6. I know that console 0 of a PV
> domain is special (and doesn't follow the usual state machine) but this
> is console 1,2 & 3 which I thought did. Perhaps Stefano can shed some
> light?
>
> I'm pretty certain this wasn't happening with the latest version of this
> series I was using, which was either v8 or v9 IIRC.
Reading the state machine handler in QEMU
(hw/xen_backend.c:xen_be_check_state), it looks like that QEMU is going
to set the backend state to Closing or Closed in response to the
frontend state going to Closing or Closed.
What is libxl doing exactly?
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-07-20 15:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-20 13:55 execute hotplug scripts from libxl v10 Roger Pau Monne
2012-07-20 15:16 ` Ian Campbell
2012-07-20 15:55 ` Stefano Stabellini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).