freebsd-skq/sys/dev/xen
Justin T. Gibbs 443cc4d407 Fix a bug in the calculation of the maximum I/O request size.
The previous code did not limit the I/O request size based on
the maximum number of segments supported by the back-end.  In
current practice, since the only back-end supporting chained
requests is the FreeBSD implementation, this limit was never
exceeded.

sys/dev/xen/blkfront/block.h:
	Add two macros, XBF_SEGS_TO_SIZE() and XBF_SIZE_TO_SEGS(),
	to centralize the logic of reserving a segment to deal with
	non-page-aligned I/Os.

sys/dev/xen/blkfront/blkfront.c:
	o When negotiating transfer parameters, limit the
	  max_request_size we use and publish, if it is greater
	  than the maximum, unaligned, I/O we can support with
	  the number of segments advertised by the backend.
	o Don't unilaterally reduce the I/O size published to
	  the disk layer by a single page.  max_request_size
	  is already properly limited in the transfer parameter
	  negotiation code.
	o Fix typos in printf strings:
		"max_requests_segments" -> "max_request_segments"
		"specificed" -> "specified"

MFC after:	1 day
2012-02-16 21:58:47 +00:00
..
balloon Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
blkback Fix typo in a printf string: "specificed" -> "specified". 2012-02-16 21:49:28 +00:00
blkfront Fix a bug in the calculation of the maximum I/O request size. 2012-02-16 21:58:47 +00:00
console kern cons: introduce infrastructure for console grabbing by kernel 2011-12-17 15:08:43 +00:00
control Properly handle suspend/resume events in the Xen device 2011-09-20 23:44:34 +00:00
evtchn
netback Fix the netback driver build for i386. 2012-02-02 17:54:35 +00:00
netfront ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
pcifront - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
xenpci Make XENHVM work on i386. The __ffs() function counts bits starting from 2012-01-16 02:38:45 +00:00