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

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

Christopher S. Aker wrote:
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?

That got me thinking .. The duplicate calls are happening for some reason, but they're never attempting to write out the state value again because of this code in xenbus_switch_state():

if (state == dev->state) {
        return 0;

The initial call to xenbus_switch_state() _did_ set the value in dev->state, it just never made it into xenstore even though the xenbus_printf call didn't return an error.

So, commenting out the code above makes everything work. 15 reboots and all the devices have show up every time.

I don't know why the first call to xenbus_switch_state() isn't really writing out the value to xenstore. xenbus_printf() isn't returning an error, but still the value fails to make it into the store. That's the best of my understanding at the moment...


Xen-devel mailing list



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