freebsd-dev/sys/dev/xen
Justin T. Gibbs 06a630f65d Add suspend/resume support to the Xen blkfront driver.
Sponsored by: BQ Internet

sys/dev/xen/blkfront/block.h:
sys/dev/xen/blkfront/blkfront.c:
	Remove now unused blkif_vdev_t from the blkfront soft.

sys/dev/xen/blkfront/blkfront.c:
	o In blkfront_suspend(), indicate the desire to suspend
	  by changing the softc connected state to SUSPENDED, and
	  then wait for any I/O pending on the remote peer to
	  drain.  Cancel suspend processing if I/O does not
	  drain within 30 seconds.
	o Enable and update blkfront_resume().  Since I/O is
	  drained prior to the suspension of the VM, the complicated
	  recovery process performed by other Xen blkfront
	  implementations is avoided.  We simply tear down the
	  connection to our old peer, and then re-connect.
	o In blkif_initialize(), fix a resource leak and botched
	  return if we cannot allocate shadow memory for our
	  requests.
	o In blkfront_backend_changed(), correct our response to
	  the XenbusStateInitialised state.  This state indicates
	  that our backend peer has published sufficient data for
	  blkfront to publish ring information and other XenStore
	  data, not that a connection can occur.  Blkfront now
	  will only perform connection processing in response to
	  the XenbusStateConnected state.  This corrects an issue
	  where blkfront connected before the backend was ready
	  during resume processing.

Approved by:	re
MFC after:	1 week
2011-09-21 00:02:44 +00:00
..
balloon Fix msleep() usage in Xen balloon driver to not wake up on every HZ tick. 2011-05-13 03:40:16 +00:00
blkback Several enhancements to the Xen block back driver. 2011-06-13 20:36:29 +00:00
blkfront Add suspend/resume support to the Xen blkfront driver. 2011-09-21 00:02:44 +00:00
console Add support for alternative break-to-debugger support on the Xen console. 2011-09-02 17:36:01 +00:00
control Properly handle suspend/resume events in the Xen device 2011-09-20 23:44:34 +00:00
evtchn merge 186535, 186537, and 186538 from releng_7_xen 2008-12-29 06:31:03 +00:00
netback Fix a few more SYSCTL_PROC() that were missing a CTLFLAG type specifier. 2011-01-19 00:57:58 +00:00
netfront Monitor and emit events for XenStore changes to XenBus trees 2011-06-11 04:59:01 +00:00
pcifront
xenpci Make "options XENHVM" compile for i386, not just amd64 -- a largely 2011-01-04 14:49:54 +00:00