|
|
|
|
|
|
|
|
|
|
xen-devel
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...
-Chris
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|