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