gibbs 62950d5517 Enhance documentation, improve interoperability, and fix defects in
FreeBSD's front and back Xen blkif interface drivers.

sys/dev/xen/blkfront/block.h:
sys/dev/xen/blkfront/blkfront.c:
sys/dev/xen/blkback/blkback.c:
	Replace FreeBSD specific multi-page ring impelementation with
	support for both the Citrix and Amazon/RedHat versions of this
	extension.

sys/dev/xen/blkfront/blkfront.c:
	o Add a per-instance sysctl tree that exposes all negotiated
	  transport parameters (ring pages, max number of requests,
	  max request size, max number of segments).
	o In blkfront_vdevice_to_unit() add a missing return statement
	  so that we properly identify the unit number for high numbered
	  xvd devices.

sys/dev/xen/blkback/blkback.c:
	o Add static dtrace probes for several events in this driver.
	o Defer connection shutdown processing until the front-end
	  enters the closed state.  This avoids prematurely tearing
	  down the connection when buggy front-ends transition to the
	  closing state, even though the device is open and they
	  veto the close request from the tool stack.
	o Add nodes for maximum request size and the number of active
	  ring pages to the exising, per-instance, sysctl tree.
	o Miscelaneous style cleanup.

sys/xen/interface/io/blkif.h:
	o Add extensive documentation of the XenStore nodes used to
	  implement the blkif interface.
	o Document the startup sequence between a front and back driver.
	o Add structures and documenatation for the "discard" feature
	  (AKA Trim).
	o Cleanup some definitions related to FreeBSD's request
	  number/size/segment-limit extension.

sys/dev/xen/blkfront/blkfront.c:
sys/dev/xen/blkback/blkback.c:
sys/xen/xenbus/xenbusvar.h:
	Add the convenience function xenbus_get_otherend_state() and
	use it to simplify some logic in both block-front and block-back.

MFC after:	1 day
2012-02-15 06:45:49 +00:00
..
2012-01-15 13:23:18 +00:00
2011-10-13 20:06:19 +00:00
2011-12-17 10:23:17 +00:00
2011-12-17 10:23:17 +00:00
2011-02-21 09:01:34 +00:00
2011-11-23 20:27:26 +00:00
2012-01-29 14:52:42 +00:00
2011-06-28 08:36:48 +00:00
2011-12-15 06:29:13 +00:00
2012-01-10 20:52:02 +00:00
2012-01-15 13:23:18 +00:00
2012-01-15 13:23:43 +00:00
2012-01-25 04:48:27 +00:00
MFC
2011-05-16 16:34:03 +00:00
2012-01-31 13:00:40 +00:00
2012-01-15 13:23:43 +00:00
2011-12-17 10:23:17 +00:00
2011-12-17 10:23:17 +00:00
2012-01-30 23:03:21 +00:00
2011-10-18 08:09:44 +00:00
2011-03-24 08:56:12 +00:00
2011-12-17 10:23:17 +00:00
2011-05-15 13:17:08 +00:00
2011-12-17 10:23:17 +00:00
2012-01-02 12:12:10 +00:00
2012-01-11 15:00:16 +00:00
2012-01-15 13:23:43 +00:00
2012-01-15 13:23:18 +00:00
2011-12-17 10:23:17 +00:00
2011-10-07 08:59:54 +00:00
2012-01-15 13:23:18 +00:00
2011-12-15 05:07:16 +00:00
2011-12-15 06:29:13 +00:00
2012-01-16 06:00:44 +00:00
2012-02-14 21:36:55 +00:00
2012-02-11 08:12:52 +00:00
2011-12-22 15:13:32 +00:00
2011-10-18 08:09:44 +00:00
2011-11-23 05:34:01 +00:00
2011-12-17 10:23:17 +00:00
2012-02-10 12:35:57 +00:00
2011-11-23 20:27:26 +00:00