[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] vbd devices stuck in Initialising/InitWait



Ewan Mellor wrote:
That sounds to me like the guest kernel is crashing or deadlocking.  Do you
see anything on the guest console?  Perhaps you could put #define DEBUG 1 at
the top of blkfront/block.h and xenbus/xenbus_probe.c for your guest kernel,
and try and figure out where it is getting stuck.

The domains aren't crashing since they will boot, provided the root device isn't among the missing...

I've added DEBUG a bunch of printk's to talk_to_backend() and xenbus_switch_state(). The outputs are here:

http://www.theshore.net/~caker/xen/InitWait/dmesg-working.txt
http://www.theshore.net/~caker/xen/InitWait/dmesg-not_working.txt

At the bottom of both of those files, I've pasted in just the debugging messages in order.

There are two main differences:

When devices are missing, talk_to_backend() is making duplicate calls for the same vbd to xenbus_switch_state(), and on the second call xenbus_switch_state avoids writing to xenstore an identical value (which it's supposed to). Why the duplicate calls?

Second difference: even though there were two calls to xenbus_switch_state) to set the state to 3, later on xenbus_probe only detects the state as 2.

talk_to_backend - about to call xenbus_switch_state
xenbus_switch_state() nodename=device/vbd/770 state=3 - entering
xenbus_switch_state() nodename=device/vbd/770 state=3 - finished
talk_to_backend - about to call xenbus_switch_state
xenbus_switch_state() nodename=device/vbd/770 state=3 - entering
xenbus_switch_state() nodename=device/vbd/770 state=3 - state == dev->state

but then:
xenbus_probe (otherend_changed:302) state is 2, /local/domain/0/backend/vbd/151/770/state, /local/domain/0/backend/vbd/151/770/state.

So, is this a deadlock or locking issue like you suspected?

Thanks,
-Chris

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.