Hi,
I am implementing save/restore feature for windows pv driver. After
system resumed, my frontend blk driver cannot connect backend. Here is
my work flow:
1, Set frontend state to XenbusStateClosing, then set state to
XenbusStateClosed. At the end, set frontend state to
XenbusStateInitiazing.
2, Release blk device relevant memory.
3, Shutdown xenbus and release relevant memory.
4, Call hypercall to let system suspend.
......
(resume)
5. Reinit xenbus.
6. Get grant table, init share ring, allocate event channel for blk
device.
7. Set frontend state to XenbusStateConnected. <-- got issue here.
When set frontend state to connect, my backend state watcher tell me
that backend state changed to closing and then closed.
I am not very family with blk backend driver, so I want to know which
scenarios cause blk backend state change to closing/closed. Any info I
gave to xenstore is wrong?
I use xen 3.1.3, win2k3. I can provide me info if you need.
Thanks
Wayne
|